我们正在使用iText合并一些已经动态创建的PDF。合并后的最终PDF不会显示在创建原始PDF时动态添加的图片。
以下是它的工作原理:
SAP WebDynpro Java应用程序生成PDF。一些图像在XDP中如此绑定:
<field access="readOnly" w="42mm" h="51.86mm" name="pmPicture" x="1mm" y="1.1mm">
<ui>
<imageEdit data="embed" />
</ui>
<value>
<image aspect="none" />
</value>
<bind match="dataRef" ref="$.pmPicture" />
<border>
<edge presence="hidden" />
<corner presence="hidden" />
</border>
<desc>
<text name="embeddedHref">Unknown Embedded URI</text>
</desc>
</field>
应用程序显示预览PDF。 PDF正确显示绑定图像!
我们使用基于this example code的iText合并PDF文件。
最终PDF不显示绑定图像。绑定文本正确显示。
我试图找出iText“读取”PDF时会发生什么。我可以通过以下代码找出图像已成功加载到阅读器对象中:
System.out.println(pdfReader.getAcroFields().getField("pmPicture"))
所以现在我试着找出将PDF合并到最终PDF时会发生什么。但我发现代码没有任何问题。我应该为图像做些额外的事吗?
// Create a new page in the target for each source page.
while (pageOfCurrentReaderPDF < pdfReader.getNumberOfPages()) {
document.newPage();
pageOfCurrentReaderPDF++;
page = writer.getImportedPage(pdfReader,
pageOfCurrentReaderPDF);
cb.addTemplate(page, 0, 0);
}