1

我们正在使用 iText 合并一些已经动态创建的 PDF。合并后的最终 PDF 不显示创建原始 PDF 时动态添加的图片。

下面是它的工作原理:

  1. 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>
    
  2. 应用程序显示预览 PDF。PDF 正确显示绑定的图像!

  3. 我们使用基于此示例代码的 iText来合并 PDF 文件。

  4. 最终 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);
}
4

0 回答 0