我有一个 pdf,我想将其制作成几个 1 页的 pdf,其中原始 pdf 中的每一页现在都是它自己的 pdf 文档。我正在尝试使用 itextsharp 执行此操作,但即使开始也遇到了一些困难。
我会以错误的方式解决这个问题吗?有人知道我会怎么做吗?
万分感谢!
我有一个 pdf,我想将其制作成几个 1 页的 pdf,其中原始 pdf 中的每一页现在都是它自己的 pdf 文档。我正在尝试使用 itextsharp 执行此操作,但即使开始也遇到了一些困难。
我会以错误的方式解决这个问题吗?有人知道我会怎么做吗?
万分感谢!
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。将源页面导入其中,然后将其添加到文档中并保存。
有两种不同的命令行工具可以做到这一点,它们都适用于任何可用的主要操作系统平台。
示例命令行:
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 处理功能。
有一个不同的库PDFSharp可能更适合于此。您可以打开一个 PDFDocument 对象,并单独浏览每个页面,将其提取到自己的独立 PDF 文档中。