我正在使用 ABCpdf 工具,我正在尝试将 1TB 的 PDF 文件(因此效率是一个问题)拆分为单页 PDF 文件。
我尝试了以下方法:
Doc theSrc = new Doc();
theSrc.Read("C://development//pdfSplitter//Bxdfbc91ca-fc05-4315-8c40-798a77431ee0xP.pdf");
for (int i = 1; i <= theSrc.PageCount; i++)
{
Doc singlePagePdf = new Doc();
singlePagePdf.Rect.String = singlePagePdf.MediaBox.String = theSrc.MediaBox.String;
singlePagePdf.AddPage();
singlePagePdf.AddImageDoc(theSrc, i, null);
singlePagePdf.FrameRect();
singlePagePdf.Save("C://development//pdfSplitter//singlePDF//singlePage"+i+".pdf");
singlePagePdf.Clear();
}
theSrc.Clear();
这个速度非常快,但它不会保留旋转的页面,它们需要保留。我尝试手动旋转它们,但这很快就变得有点混乱,并且它们并没有像原始文档中那样以精确的方式出现。
我也试过:
Doc theSrc = new Doc();
theSrc.Read("C://development//pdfSplitter//Bxdfbc91ca-fc05-4315-8c40-798a77431ee0xP.pdf");
for (int i = 1; i <= theSrc.PageCount; i++)
{
Doc singlePagePdf = new Doc();
singlePagePdf.Append(theSrc);
singlePagePdf.RemapPages(i.ToString());
singlePagePdf.Save("C://development//pdfSplitter//singlePDF//singlePage"+i+".pdf");
singlePagePdf.Clear();
}
theSrc.Clear();
这个比第一个慢(在大文档上)大约 6 倍,但它保持旋转页面的格式,这很重要。这个问题是我必须附加整个文档并再次删除所有不需要的页面。这是对文件中的所有页面执行的,效率非常低。
有人可以帮我解决这个问题吗?