2015-03-03 97 views
1

我不跟iTextSharp經驗豐富,有這方面的需求:與iTextSharp的合併文件

我已經產生了2個PDF文件:

  • 小的PDF(即大小A6)一個頁面的含1個背景圖片和一些文本以各種格式(段落,大塊等),一些條形碼一些直角...但沒有更多(沒有形式等)。 pdf生成爲內存流。

  • 較大的一個(即尺寸A3)。我想「複製」或將小pdf以較大的固定位置嵌入。

我該如何合併它們?我發現的所有示例都使用PDFReader,但我無法將它用於內存流,我不想將中間PDF保存到磁盤。

+2

一個'PdfReader'完全可以綁定到一個流,雖然我建議你調用'ToArray的()'您'MemoryStream'和公正傳入你的原始字節。 – 2015-03-03 14:29:58

回答

1

你基本上想要將一個頁面從某個文檔的某個地方戳到另一個文檔的較大頁面上。

這是PdfStamper的任務。

  • 打開PdfReader readerA
  • 打開在一個PdfReader readerB
  • 大頁面文件中的小頁面文件從readerA使用創建PdfStamper stamperBreaderB
  • 導入頁stamperB.GetImportedPage
  • 使用stamperB.OverContent.AddTemplate將此導入的頁面對象添加到現有目標頁面;這種方法允許提供定位座標
  • 關閉stamperB,那麼讀者