将2个pdf字节数组合并为1

时间:2014-09-04 02:48:31

标签: vb.net pdf itextsharp itext

我尝试创建一个函数,将2个字节()pdfs合并为1个pdf字节

我的代码目前从2个不同的源创建2个字节的数组,我想将它们合并为1个文档作为字节数组。 (以下非常汇总的代码)

Function MergerPDF (pdf1 as byte(), pdf2 as byte()) as byte

'Merger 2 PDF byte arrays

'Return merged byte array

End Function

它只会是2比1

在此先感谢您的帮助,我对这一点感到有些困惑:)

1 个答案:

答案 0 :(得分:0)

您的问题暗示您将一个PDF作为字节数组,并且您希望将另一个PDF的另一个字节粘贴到该第一个字节数组。除非你想创建一个损坏的PDF文件,否则不清楚你想用它实现什么。

是否要将两个文档连接成一个。例如,一个包含10页的文档和一个包含5页的文档,从而生成一个包含15页的文档。

在这种情况下,您还没有进行太多研究,因为我已经要求我的发布商免费提供Chapter 6 of my book。阅读本章后,您将了解到您正在寻找名为PdfReader的类来读取现有PDF和PdfCopy(或PdfSmartCopy的字节,具体取决于PDF的性质)连接文档。

第6章的示例可在JavaC#中找到。可以在sandbox中找到更多Java示例。

此代码段在内存中创建PDF文件:

using (MemoryStream ms = new MemoryStream()) {
  // step 1
  using (Document document = new Document()) {
    // step 2
    using (PdfCopy copy = new PdfCopy(document, ms)) {
      // step 3
      document.Open();
      // step 4
      for (int i = 0; i < pdf.Count; ++i) {
        PdfReader reader = new PdfReader(pdf[i]);
        // loop over the pages in that document
        int n = reader.NumberOfPages;
        for (int page = 0; page < n; ) {
          copy.AddPage(copy.GetImportedPage(reader, ++page));
        }
      }
    }
  }
}

在您的情况下,pdf变量可以是字节数组的数组。

使用PdfReaderPdfCopy,iTextSharp等主要关键字查找更多示例。您有兴趣快速接受此答案,因为您的问题有资格被关闭和/或投票。 StackOverflow的规则是你在提出问题之前应该做一些努力,你的问题可以被认为是质量差的问题&#34;由社区。对像你这样的问题的常见评论是&#34;你有什么尝试?&#34;