添加PDFStamper叠加层会导致XFA预填充字段消失

时间:2015-01-02 23:06:35

标签: java pdf itext xfa pdfstamper

我使用的SRC_PDF之前使用以下代码填充了之前的方法:

    XfaForm xfa = form.getXfa(); 
    xfa.fillXfaForm(new FileInputStream(XML));
    stamper.close();
    reader.close();

现在,我想在填充文档的第二页上创建图像叠加层。 通过使用PDFStamper(即使使用追加),我现在丢失了所有填充的字段,但确实在第2页上获得了图像叠加。有人想出如何在预先填充的{{1 }}

XFA PDF form?

运行 package example.pdf; import java.io.FileOutputStream; import org.junit.Test; import com.itextpdf.text.Image; import com.itextpdf.text.pdf.PdfContentByte; import com.itextpdf.text.pdf.PdfReader; import com.itextpdf.text.pdf.PdfStamper; public class SignaturePDFTest { public static final String SRC_PDF = "target/XFA_Form_filled.pdf"; public static final String DEST_PDF = "target/XFA_Form_withImageOverlay.pdf"; public static final String OVERLAY_GRAPHIC = "src/test/imageOverlay.png"; @Test public void testPdfStamp() throws Exception { PdfReader pdfReader = new PdfReader(SRC_PDF); PdfStamper pdfStamper = new PdfStamper(pdfReader, new FileOutputStream(DEST_PDF), '\0', true); Image image = Image.getInstance(OVERLAY_GRAPHIC); image.scaleToFit(200, 170); for (int i=1; i<=pdfReader.getNumberOfPages(); i++) { PdfContentByte content = pdfStamper.getOverContent(i); image.setAbsolutePosition(450f, 450f); if (i==2) content.addImage(image); } pdfStamper.close(); pdfReader.close(); } } 重叠后,我丢失了之前调用中填充的字段:pdfStamper当PDF表单具有{{1}时,是否有特定的方法将图像放在特定页面上}?

0 个答案:

没有答案