我有一个pdf,我想制作几个1页的pdf,其中原始pdf中的每个页面现在都是它自己的pdf文档。我试图使用itextsharp来做这件事,但即使开始也有一些困难。
我是以错误的方式来做这件事的吗?有人知道我会怎么做吗?
非常感谢!
答案 0 :(得分:1)
有一个不同的库,PDFSharp,可能更适合这个。您可以打开PDFDocument对象,并单独浏览每个页面,将其解压缩为单独的PDF文档。
答案 1 :(得分:1)
有两种不同的命令行工具可以做到这一点,无论是对于任何可用的主要操作系统平台。
示例命令行:
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处理功能。
答案 2 :(得分: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格式。将源页面导入其中,然后将其添加到文档中并保存。