微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

itext 7 SplitByOutlines-最终文档保持打开状态且无法关闭

如何解决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 举报,一经查实,本站将立刻删除。