从现有pdf创建pdf时,与原始pdf相比,acrofields的位置正在发生变化

时间:2013-02-15 09:29:35

标签: pdf itextsharp itext

我正在从另一个包含acrofields并获得以下问题的PDF创建PDF:

  1. acrofields表现奇怪,因为在放置光标并在表单字段中单击以编辑文本后,文本向下移动(有时向上)到创建的PDF中的位置。原始PDF文档中不会发生此行为。

  2. 现在,如果我们通过设置压模.setFormFlattening(true)来制作平面PDF,那么acrofields的文本不会写入少量的精确位置,如果两个acrofields非常接近每个文本,那么会导致文本重叠其他

  3. 我正在使用的代码是

    import com.lowagie.text.pdf.AcroFields;
    import com.lowagie.text.pdf.PdfReader;
    import com.lowagie.text.pdf.PdfStamper;               
    
    
    String pdfName =  "pdfName.pdf";
    
    PdfStamper stamper = null;
    FileOutputStream fout = null;   
    
    PdfReader reader = new PdfReader(pdfName);
    fout = new FileOutputStream("outputpdf.pdf");
    stamper = new PdfStamper(reader, fout); 
    
    AcroFields acroFields = stamper.getAcroFields();
    Map fieldMap = acroFields.getFields(); 
    Set keys = fieldMap.keySet();
    
    for (Iterator it = keys.iterator(); it.hasNext();) {
        String fieldName  = (String) it.next(); 
        acroFields.setField(fieldName,acroFields.getField(fieldName));
    }
    
    stamper.setFormFlattening(false);
    stamper.close(); 
    

    我尝试使用最新版本的itext(itext5)使用相同的代码,但结果相同。

    我正在使用的PDF是

    http://www.herosh.com/download/11083031/sample-font.pdf.html

0 个答案:

没有答案