Pdf iTextSharp-将文档作为页面追加

Pdf iTextSharp-将文档作为页面追加,pdf,itextsharp,Pdf,Itextsharp,到目前为止,我已经能够使用AdobeAcrobatPro和文本字段创建pdf。我可以使用iTextSharp打开PDF,然后将关键信息填充到所需的字段中 接下来,我可以将所有内容打包,并将文件作为文件附件从字节数组发送出去,这样所有内容都可以正常工作 问题在于,我必须在内存流中创建一个PDF文档,并用必要的文本填充文档。我把它写得很好 问题是,我不知道如何将内存流中的文档附加到文件流中现有的source.PDF,作为新页面。 一种是使用stamper.insert page,但我很难接受这样的想

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

接下来,我可以将所有内容打包,并将文件作为文件附件从字节数组发送出去,这样所有内容都可以正常工作

问题在于,我必须在内存流中创建一个PDF文档,并用必要的文本填充文档。我把它写得很好

问题是,我不知道如何将内存流中的文档附加到文件流中现有的source.PDF,作为新页面。

一种是使用stamper.insert page,但我很难接受这样的想法,即我不能向矩形中添加标题,我认为使用Document doc=new Document()是一种方法


想法?

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

打开源代码文件并存储到字节[] 使用.SetField和Acrofields填充pdf中的文本字段(这是成功的) 盖章并关闭 作为字节数组返回,并作为文件附件发送。这一切都很好

现在,我们需要在上述现有文件上加上新的一页,并附上几段文字

创建一个内存流 创建文档 创建一个writer并将内存流和文档混合在一起

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的阅读器之前添加页面。

请使用伪代码重新表述您的问题,其中包括emptyform.PDF、filledoutform.PDF、existingdocument.PDF等名称。如果没有额外的信息,就不完全清楚你想要什么。你考虑过使用PdfConcatenate吗?您可以使用PdfConcatenate在任何流、内存或文件系统中生成连接的文档,并且源文档需要以pdfReader的形式出现,pdfReader也可以从文件系统(通过文件名)或内存(作为可以从MemoryStream进行树检索的字节数组)实例化。如果您提供Bruno要求的(伪)代码,则可以详细说明。以下是伪代码: