如何解决itext 7 SplitByOutlines-最终文档保持打开状态且无法关闭
我编写了一个自定义拆分器,以按轮廓/书签拆分PDF。它可以工作,但问题是最后一个文档保持打开状态并且已损坏。该文档显示有71个轮廓,但是拆分器即使创建了71个文档,也只返回70个。
这是自定义拆分器:
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);
}
}
我需要跟踪文件名,以便可以重命名它们。我用以下代码调用自定义拆分器:
IList<string> splitFileNames = new List<string>();
PdfSplitter pdfSplitter = new CustomSplitter(pdfDoc,yearDir,fileName,splitFileNames);
IList<PdfDocument> splitDocs = pdfSplitter.SplitByOutlines(outlineNames);
这是我第一次在这里发布。我没有进行搜索,却发现没有使用SplitByOutlines的内容。
谢谢。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。