1

我有一个 pdf,我想将其制作成几个 1 页的 pdf,其中原始 pdf 中的每一页现在都是它自己的 pdf 文档。我正在尝试使用 itextsharp 执行此操作,但即使开始也遇到了一些困难。

我会以错误的方式解决这个问题吗?有人知道我会怎么做吗?

万分感谢!

4

3 回答 3

1
using (FileStream fs = new FileStream(argPdfFileName, FileMode.Create))
{
  Document doc = new Document(argReader.GetPageSize(argPdfPageNumber));
  PdfCopy copy = new PdfCopy(doc, fs);
  doc.Open();
  PdfImportedPage page = copy.GetImportedPage(argReader, argPdfPageNumber);
  copy.AddPage(page);
  doc.Close();
}

从一些工作代码中删除了这个。argReader 是指向源文档的 PdfReader 实例。argPdfPageNumber 是有问题的页码。基本上你只需创建一个新的pdf。将源页面导入其中,然后将其添加到文档中并保存。

于 2012-07-06T10:24:02.947 回答
1

有两种不同的命令行工具可以做到这一点,它们都适用于任何可用的主要操作系统平台。

pdftk

示例命令行:

pdftk input.pdf burst output page_%04d-from-input.pdf

鬼脚本

示例命令行:

gs \
   -o page_%04d-from-input.pdf \
   -sDEVICE=pdfwrite \
    input.pdf

警告:它只是最新版本的 Ghostscript,它支持这种命令行语法,%04d用于分页不同的输出文件 + 名称。

pdftk在此过程中无法进行任何 PDF 操作,而且速度非常快。

新的 Ghostscript 方法有点慢,但它的优点是它可以在您需要时应用许多其他 PDF 处理功能。

于 2012-07-06T00:09:00.020 回答
1

有一个不同的库PDFSharp可能更适合于此。您可以打开一个 PDFDocument 对象,并单独浏览每个页面,将其提取到自己的独立 PDF 文档中。

于 2012-07-05T19:59:30.637 回答