gpt4 book ai didi

java - 文本 : Add an image on a header with an absolute position

转载 作者:行者123 更新时间:2023-12-04 20:49:08 25 4
gpt4 key购买 nike

我想在我的 PDF 的每一页上放置一个标题。页眉的文本部分已完成,但我找不到放置图像的方法。

public static class Header extends PdfPageEventHelper {             
public void onEndPage(PdfWriter writer, Document document) {
try{
PdfContentByte cb = writer.getDirectContent();

/*
Some code to place my text in the header
*/

Image imgSoc = Image.getInstance("C:\\...\\Logo.jpg");
imgSoc.scaleToFit(110,110);
imgSoc.setAbsolutePosition(390, 720);

ColumnText ct = new ColumnText(cb);
ct.addText(new Chunk(imgSoc,0,0));
ct.go();

}catch(Exception e){
e.printStackTrace();
}
}
}

我不太确定我这样做的方式是否正确。

最佳答案

已经有两个使用表格的答案。

表格对于创建不同页眉部分(文档标题、文档版本、页码、 Logo ...)的动态布局非常有帮助。

但是如果你不需要它,已经像 OP 那样准备好了一切,你可以简单地将图像添加到固定位置和固定大小:

public static class Header extends PdfPageEventHelper {             
public void onEndPage(PdfWriter writer, Document document) {
try
{
PdfContentByte cb = writer.getDirectContent();

/*
Some code to place some text in the header
*/

Image imgSoc = Image.getInstance("C:\\...\\Logo.jpg");
imgSoc.scaleToFit(110,110);
imgSoc.setAbsolutePosition(390, 720);

cb.addImage(imgSoc);
}
catch(Exception e)
{
e.printStackTrace();
}
}
}

PS:如果你真的在所有页面上使用相同的标志,你最好只将图像文件读入Image实例一次(例如在构造函数或onOpenDocument), 将该实例保存在一个变量中并一次又一次地重复使用它。这样您就可以在 PDF 中仅包含一次图像数据。

关于java - 文本 : Add an image on a header with an absolute position,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35035356/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com