[英]Making 1 page pdfs from a multipage pdf using itextsharp
我有一个pdf,我想制作几个1页的pdf,其中原始pdf中的每个页面现在是它自己的pdf文档。 我试图使用itextsharp来做到这一点,但即使开始也有一些困难。
我是以错误的方式来做这件事的吗? 谁知道我会怎么做呢?
万分感谢!
有一个不同的库, PDFSharp ,可能更适合这个。 您可以打开PDFDocument对象,并单独浏览每个页面,将其解压缩为自己的单独PDF文档。
对于任何可用的主要OS平台,有两种不同的命令行工具可以做到这一点。
示例命令行:
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处理功能。
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格式。 将源页面导入其中,然后将其添加到文档并保存。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.