私はこれをどこでも探しましたが、うまくいく答えを見つけることができません。私は2つの入力PDFを持っています(2つだけです)。
PDF1(新しいページ)の下部にPDF2を追加し、両方をPDF3として出力したい。
コードがvb.netにある場合は、コードを送信していただければ、誰でも助けていただけますか。
私はこれをどこでも探しましたが、うまくいく答えを見つけることができません。私は2つの入力PDFを持っています(2つだけです)。
PDF1(新しいページ)の下部にPDF2を追加し、両方をPDF3として出力したい。
コードがvb.netにある場合は、コードを送信していただければ、誰でも助けていただけますか。
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()
これは、行うためのいくつかの方法の1つです。コードをテストしていませんが、それほど遠くないはずです:)
編集:
私の知る限り、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)
テンプレートのTOPに追加する場合は、GetOverContentを呼び出して、同じポジショニングプロパティを使用できます
stamper.GetOverContent(1).AddTemplate(bg, 0, 0)
コメントに何か他のものが欠けているかどうかわからない..?...
を使用してPdsをマージでき"ITextSharp"
ます...これは、最近のプロジェクトで自分で試した良い例です...そこから良いアイデアを得ることができます...