我正在编写一个使用pdfbox库从头创建PDF的Java应用程序。
我需要在其中一页中放置一个jpg图像。
我正在使用以下代码:
相反,文本正确地放置在页面上。
有什么提示可以将我的图像放入pdf中吗?
我需要在其中一页中放置一个jpg图像。
我正在使用以下代码:
PDDocument document = new PDDocument();
PDPage page = new PDPage(PDPage.PAGE_SIZE_A4);
document.addPage(page);
PDPageContentStream contentStream = new PDPageContentStream(document, page);
/* ... */
/* code to add some text to the page */
/* ... */
InputStream in = new FileInputStream(new File("c:/myimg.jpg"));
PDJpeg img = new PDJpeg(document, in);
contentStream.drawImage(img, 100, 700);
contentStream.close();
document.save("c:/mydoc.pdf");
当我运行该代码时,它成功终止,但是如果我使用Acrobat Reader打开生成的pdf文件,则页面完全白色,图像未放置在其中。相反,文本正确地放置在页面上。
有什么提示可以将我的图像放入pdf中吗?
PDPageContentStream
之后创建的第一个PDJpeg
会出现问题。我正在写入3张图像,第一张图像无法显示在PDF上,但其他两个没有问题。为了解决这个问题,我创建了第一个PDJpeg
,然后再创建一个具有相同图像的新的PDJpeg
对象并进行写入。然后我顺利地写入了另外两个图像。不太方便,但是它能够正常工作。 - Niro