java – 无法使用PDFBox将图像添加到PDF

我在写一个java应用程序,使用pdfbox库从头创建一个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");

当我运行代码,它终止成功,但如果我打开生成的pdf文件使用Acrobat Reader,页面是完全白色的,图像不放在它。
文本被正确放置在页面中。

任何提示如何把我的形象在pdf?

肯定将页面添加到文档。你会想要这样做,但我也注意到,如果您在PDJpeg之前创建PDPageContentStream,PDFBox将不会写出图像。这是不明原因为什么是这样,但如果你仔细看看ImageToPDF的来源,这是他们做什么。在PDJpeg之后创建PDPageContentStream,它神奇地工作。

...
PDJpeg img = new PDJpeg(document, in);
PDPageContentStream stream = new PDPageContentStream( doc, page );
...
http://stackoverflow.com/questions/8521290/cant-add-an-image-to-a-pdf-using-pdfbox

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:java – 无法使用PDFBox将图像添加到PDF