gpt4 book ai didi

java - PDFBox在创建文档时添加背景

转载 作者:行者123 更新时间:2023-12-01 10:16:56 29 4
gpt4 key购买 nike

所以我不仅想在创建 pdf 时添加文本,还想同时添加背景图像。我想知道这是否可能,因为我找不到任何示例,并且与此类似的唯一问题( This one )没有给出提出问题的人的任何反馈,并且没有标记为已解决.

我现在正在使用这个非常简单的示例:

       PDDocument doc = null;
PDPage page = null;

try{
doc = new PDDocument();
page = new PDPage();

doc.addPage(page);
PDFont font = PDType1Font.HELVETICA_BOLD;

PDPageContentStream content = new PDPageContentStream(doc, page);
content.beginText();
content.setFont( font, 12 );
content.moveTextPositionByAmount( 100, 700 );
content.drawString("Hello World");

content.endText();
content.close();
doc.save("printme.pdf");
doc.close();
} catch (Exception e){
System.out.println(e);
}

感谢您的宝贵时间。

最佳答案

try {
PDDocument document = new PDDocument();
PDPage page = new PDPage(PDPage.PAGE_SIZE_A4);
document.addPage(page);
PDFont font = PDType1Font.HELVETICA_BOLD;
PDPageContentStream contentStream = new PDPageContentStream(document, page, true, true);
addImageToPage(document, 0, 0, 4f, "D:/test.jpg", contentStream);
contentStream.beginText();
contentStream.setFont(font, 12);
contentStream.moveTextPositionByAmount(100, 700);
contentStream.drawString("Hello World");
contentStream.endText();
contentStream.close();
document.save("D:/mydoc.pdf");
} catch (Exception e) {
System.out.println(e);
}

添加图片的方法:

public static void addImageToPage(PDDocument document, int x, int y, float scale, String imageFilePath, PDPageContentStream contentStream)
throws IOException {
BufferedImage tmp_image = ImageIO.read(new File(imageFilePath));
BufferedImage image = new BufferedImage(tmp_image.getWidth(), tmp_image.getHeight(),
BufferedImage.TYPE_4BYTE_ABGR);
image.createGraphics().drawRenderedImage(tmp_image, null);
PDXObjectImage ximage = new PDPixelMap(document, image);
contentStream.drawXObject(ximage, x, y, ximage.getWidth() * scale, ximage.getHeight() * scale);
}

关于java - PDFBox在创建文档时添加背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35839517/

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