2012-03-09 113 views

回答

2

简短回答:你不能用iText做到这一点。

更长答案:PDF是一种显示格式,所以当PDF呈现时,会做出许多关于页面和字符布局和定位的决定。在介绍为什么它不是一项微不足道的任务时,第6章有很好的描述。您可以从publisher's website免费阅读Chapter 6

+0

谢谢John,我们可以使用现有的PDF作为背景,然后将动态文本写在我们想要的地方的现有PDF中。我正在使用C#。我正在寻找一种在网络上执行此操作的方法,但尚未找到可行的方法。 – 2012-03-12 05:56:50

+0

我找到了一种通过PDF表单字段完成此操作的方法。 – 2012-03-12 09:44:53

1

我找到了一种通过PDF表单字段完成此操作的方法。

String formFile = Server.MapPath("~/") + "source.pdf"; 

    String newFile = Server.MapPath("~/") + "sink.pdf"; 

    PdfReader reader = new PdfReader(formFile); 

    PdfStamper stamper = new PdfStamper(reader, new FileStream(newFile, FileMode.Create)); 

    AcroFields fields = stamper.AcroFields; 

    // set form fields 

    fields.SetField("{TO}", "John Doe"); 

    fields.SetField("{FROM}", "2 Milky Way, London"); 

    stamper.FormFlattening = true; 

    stamper.Close();