繁体   English   中英

使用itextsharp从多页pdf制作1页pdf

[英]Making 1 page pdfs from a multipage pdf using itextsharp

我有一个pdf,我想制作几个1页的pdf,其中原始pdf中的每个页面现在是它自己的pdf文档。 我试图使用itextsharp来做到这一点,但即使开始也有一些困难。

我是以错误的方式来做这件事的吗? 谁知道我会怎么做呢?

万分感谢!

有一个不同的库, PDFSharp ,可能更适合这个。 您可以打开PDFDocument对象,并单独浏览每个页面,将其解压缩为自己的单独PDF文档。

对于任何可用的主要OS平台,有两种不同的命令行工具可以做到这一点。

PDFTK

示例命令行:

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

Ghostscript的

示例命令行:

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM