Asp.net 如何在iTextSharp中将PDF添加到其他PDF?

Asp.net 如何在iTextSharp中将PDF添加到其他PDF?,asp.net,vb.net,pdf,itextsharp,Asp.net,Vb.net,Pdf,Itextsharp,我到处寻找这个问题,但找不到有效的答案。我有2个输入PDF(只有2个) 我想将PDF2添加到PDF1(新页面)的底部,然后将两者输出为PDF3 如果你在vb.net中提交任何代码,有人能帮忙吗?你可以使用“ITextSharp”合并Pds…这是我在最近的项目中尝试的一个好例子…你可以从中得到好主意 我建议使用PdfWriter.GetImportedPage 例如: '' Create your blank PDF Dim pdfDoc As Document = New Document(Ne

我到处寻找这个问题,但找不到有效的答案。我有2个输入PDF(只有2个)

我想将PDF2添加到PDF1(新页面)的底部,然后将两者输出为PDF3


如果你在vb.net中提交任何代码,有人能帮忙吗?

你可以使用
“ITextSharp”
合并Pds…这是我在最近的项目中尝试的一个好例子…你可以从中得到好主意


我建议使用PdfWriter.GetImportedPage

例如:

'' Create your blank PDF
Dim pdfDoc As Document = New Document(New Rectangle(0, 0, width, height))
Dim pdfWriter As PdfWriter = pdfWriter.GetInstance(pdfDoc, New FileStream("yourPDF.pdf", FileMode.OpenOrCreate))
pdfDoc.Open()

'' Create a reader to read in your PDF 2
Dim bgReader As PdfReader = New PdfReader("pdf2.pdf"))
Dim bg As PdfImportedPage = pdfWriter.GetImportedPage(bgReader, 1)


'' add the template beneath content
pdfWriter.DirectContentUnder.AddTemplate(bg, 0, 0)

'' now do the same for PDF1
bgReader = new PdfReader("pdf1.pdf")
bg = pdfWriter.GetImportedPage(bgReader,1)
pdfWriter.DirectContentUnder.AddTemplate(bg,0,0)

'' don't forget to close the doc which will save it
pdfDoc.Close()
这是几种方法之一。。尚未测试代码,但不应太远:)

编辑:

看,据我所知,你实际上不能改变PDF1。您必须创建由PDF1和PDF2组成的PDF3。因此,以上就是我们实际正在做的

您可以做的另一件事是加载构成主文档基础的文档,然后创建一个PdfStamper,您将对其进行写入。所以假设PDF1是你的主要目标

Dim reader as PdfReader = New PdfReader("pathToPDF1")
Dim stamper as new PdfStamper(reader, New FileStream("PathToSaveYourNewPdfTo.pdf"), IO.FileMode.Create)
现在,读入内容PDF2

Dim bgReader As PdfReader = New PdfReader("pdf2.pdf"))
Dim bg As PdfImportedPage = pdfWriter.GetImportedPage(bgReader, 1)
如果要在模板下添加此内容,请调用GetUnderContent。您可以通过在我的代码示例中提供X和Y坐标“0,0”来定位所需的位置。记住,坐标来自PDF的左下角

'' add the template beneath content, 1 indicates pagenumber of the doc you loaded in
stamper.GetUnderContent(1).AddTemplate(bg, 0, 0)
如果要添加到模板的顶部,则调用GetOverContent并可以使用相同的定位属性

stamper.GetOverContent(1).AddTemplate(bg, 0, 0)

不确定我是否在您的评论中遗漏了其他内容?…

您好,谢谢,它可以工作,但它只是将新文档添加到当前文档的顶部,因此它实际上与第一个文档重叠,我遇到的问题是使新页面与第一个文档重叠,你知道怎么做吗?好吧,上面提到的文档似乎有问题,这就解释了这个问题。现在的问题是,即使在交换了它们之后,我似乎也只能在第一个pdf上面添加新的pdf:-SThanks对于这个,如果它来自左下角,如果我将它保留为0,0,它会仅仅附加第一个吗?请看我目前的输出(pdf3)做得不错,但两个输入pdf的方式不对,所以我需要在底部的pdf在顶部,这是唯一的问题。没有实际编码您的整个需求,我不确定还有什么建议。代码示例很有效,因为您需要将PDF合并到一个PDF中。这些PDF的位置是使用坐标来完成的,我建议使用坐标来确定最佳位置。