Itext 7 SplitByOutlines-最终文档保持打开状态,可以';不要关门
我已经编写了一个自定义拆分器来按大纲/书签拆分我的PDF。它可以工作,但问题是最后一个文档仍然打开并且已损坏。文档显示有71个大纲,但拆分器仅返回70个,即使它创建了71个文档 以下是自定义拆分器:Itext 7 SplitByOutlines-最终文档保持打开状态,可以';不要关门,itext,itext7,Itext,Itext7,我已经编写了一个自定义拆分器来按大纲/书签拆分我的PDF。它可以工作,但问题是最后一个文档仍然打开并且已损坏。文档显示有71个大纲,但拆分器仅返回70个,即使它创建了71个文档 以下是自定义拆分器: class CustomSplitter : PdfSplitter { private int _order; private readonly string _destinationFolder; private readonly string _podName;
class CustomSplitter : PdfSplitter
{
private int _order;
private readonly string _destinationFolder;
private readonly string _podName;
private readonly IList<string> _splitFileNames;
public CustomSplitter(PdfDocument pdfDocument, string destinationFolder, string podName, IList<string> splitFileNames) : base(pdfDocument)
{
_destinationFolder = destinationFolder;
_order = 0;
_podName = podName;
_splitFileNames = splitFileNames;
}
protected override PdfWriter GetNextPdfWriter(PageRange documentPageRange)
{
string splitFileName = _destinationFolder + "\\" + _podName + _order++ + ".pdf";
_splitFileNames.Add(splitFileName);
return new PdfWriter(splitFileName);
}
}
类自定义拆分器:PdfSplitter
{
私人国际秩序;
私有只读字符串_destinationFolder;
私有只读字符串_podName;
私有只读IList_拆分文件名;
公共CustomSplitter(PdfDocument PdfDocument、string destinationFolder、string podName、IList SplitFileName):基本(PdfDocument)
{
_destinationFolder=destinationFolder;
_顺序=0;
_podName=podName;
_splitfilename=splitfilename;
}
受保护的重写PdfWriter GetNextPDWriter(PageRange documentPageRange)
{
string splitFileName=\u destinationFolder+“\\”+\u podName+\u order++.pdf”;
_splitFileName.Add(splitFileName);
返回新的PdfWriter(splitFileName);
}
}
我需要跟踪文件的名称,以便可以重命名它们。我使用以下代码调用自定义拆分器:
IList<string> splitFileNames = new List<string>();
PdfSplitter pdfSplitter = new CustomSplitter(pdfDoc, yearDir, fileName, splitFileNames);
IList<PdfDocument> splitDocs = pdfSplitter.SplitByOutlines(outlineNames);
IList splitFileNames=new List();
PdfSplitter PdfSplitter=新的CustomSplitter(pdfDoc,yearDir,fileName,splitfilename);
IList splitDocs=pdfSplitter.SplitByOutlines(大纲视图名称);
这是我第一次在这里发帖。我搜索了一下,没有发现任何使用SplitByOutlines的内容
谢谢。您好,请附上PDF以重现问题您好,我该怎么做?我看不到附加文件的方法。只需使用任何文件共享服务(OneDrive、Dropbox等)并将链接发布到该文件即可。