c# – 使用iTextSharp检查PDF是否启用了“Fast Web View”属性

我正在编写一些集成测试来验证转换为PDF操作的正确性.在其中一个测试中,我想检查PDF是否启用了“快速Web视图”.我虽然这是一个直接的测试,但我没有找到任何提供该信息的属性.我正在使用iTextShap并编写我的测试C#.

由于代码总是有助于可视化问题,下面是我想要做的一个简单示例

using System;
using System.Collections;
using iTextSharp.text.pdf;

namespace ValidationTools
{
    public class PDFValidator
    {
        readonly PdfReader _readerInstance;

        /// <summary>
        /// Constructor taking a path to a PDF as string
        /// </summary>
        /// <param name="pdfPath"></param>
        public PDFValidator(string pdfPath)
        {
            _readerInstance = new PdfReader(pdfPath);
        }

        //THIS IS WHAT I AM TRYING TO DO
        public bool VerifyIfFastWebViewIsEnabled() {
            return (bool)_readerInstance["FASTWEBVIEW"];
        }
    }
} 

解决方法:

作为一个提到的评论者,基于the iText forum,iText不直接直接支持任何“线性化PDF”(a.k.a“快速Web视图”)功能,因此没有说明PDF是否线性化.

也就是说,您可以查看the PDF specification附录F(从第675页开始)并使用其中描述的信息来自行检查PDF是否线性化.

根据此规范,令牌/线性化应出现在文件的开头附近 – 您所要做的就是检查它是否存在.

上一篇:c# – 比较和提取文本时的位置


下一篇:c# – iTextSharp将预先存在的PDF作为图层添加到另一个PDF