我正在编写一些集成测试来验证转换为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是否线性化.
根据此规范,令牌/线性化应出现在文件的开头附近 – 您所要做的就是检查它是否存在.