首页 文章

iTextSharp - 将文档作为页面附加

提问于
浏览
0

到目前为止,使用iTextSharp,我已经能够使用带有文本字段的Adobe Acrobat Pro创建pdf . 我可以使用iTextSharp打开PDF,然后使用关键信息将所需字段填充到关键字段中 .

接下来,我能够将所有内容包装起来,并将文件从字节数组中作为文件附件发送出去 - 所以一切都很好 .

问题在于 - 我必须在内存流中创建一个PDF文档,并使用必要的文本填充文档 . 我把它弄得相当不错 .

问题是我很困惑如何将内存流中的文档追加到文件流中作为 new page. 的现有源.PDF

一个是使用stamper.insert页面,但我不知道我不能在矩形中添加 Headers ,我认为使用Document doc = new Document()是可行的方法 .

思考?

1 回答

  • 0

    这是伪代码 . 这就是它目前所做的 .

    开源文件并存储到byte []使用.SetField使用Acrofields填充pdf中的文本字段(这是成功的)Stamp并关闭作为字节数组返回并将其作为文件附件发送 . 这一切都很好 .

    现在 - 我们需要在上面的现有文档中添加一个新页面,其中包含几个段落 .

    创建内存流创建文档创建编写器并将内存流和文档混合在一起 .

    MemoryStream ms = new MemoryStream();
    Document doc = new Document(PageSize.LETTER);
    PdfWriter writer = PdfWriter.GetInstance(doc, ms);
    doc.Open();
    doc.NewPage();
    Paragraph p = new Paragraph();
    p.Add(new Chunk(complaintinfo.COMPLAINT_DESC, new Font(Font.NORMAL, qSize, iTextSharp.text.Font.NORMAL)));
    // doc - add header info later..
    doc.Add(p);
    

    如何将文档作为新页面添加到文件流中已有的.pdf中?当然,我假设我们想要在加盖和关闭与原始PDF链接的阅读器之前添加页面 .

相关问题