我正在从另一个包含acrofields并获得以下问题的PDF创建PDF:
acrofields表现奇怪,因为在放置光标并在表单字段中单击以编辑文本后,文本向下移动(有时向上)到创建的PDF中的位置。原始PDF文档中不会发生此行为。
现在,如果我们通过设置压模.setFormFlattening(true)
来制作平面PDF,那么acrofields的文本不会写入少量的精确位置,如果两个acrofields非常接近每个文本,那么会导致文本重叠其他
我正在使用的代码是
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