Swo*_*op 13 pdf pdf-generation ghostscript itextsharp
我的小组一直在使用itext-sharp库和C#/ .NET来生成自定义的动态PDF.在大多数情况下,这个过程非常适合我们的需求.我们在开发/测试期间可能遇到的一个问题是布局问题,这可能导致PDF无法在Adobe Reader中正确打开/呈现,尤其是.较新版本的Acrobat/Reader.
该文档将正确打开前X页的显示.但是如果出现错误,则不会显示文档中的其余页面.
如上所述,我们通常能够使用C#/ iText代码将此问题跟踪到布局类型问题.我们最终通过使用猜测和检查方法或分而治之来找到错误.它有效,但它不是解决这些问题的最佳方法.
我想知道是否有任何可用的工具可以加快验证PDF文档的过程,并有助于指出文档中的错误?
Kur*_*fle 18
"最便宜"(同时又非常可靠!)的方式是使用Ghostscript.让Ghostscript解释PDF并查看它给出的返回值.如果没有问题,PDF文件应该没问题.在Windows上:
gswin32c.exe ^
-o nul
-sDEVICE=nullpage ^
d:/path/to/file.pdf
Run Code Online (Sandbox Code Playgroud)
该nullpage
输出设备不会产生任何新的文件.但是Ghostscript会告诉stdout/stderr它是否遇到错误.检查%errorlevel%
伪环境变量的内容. - 在Linux上:
gs \
-o /dev/null \
-sDEVICE=nullpage \
/path/to/file.pdf
Run Code Online (Sandbox Code Playgroud)
(检查返回值echo $?
是否0
为"无问题".)
如果出现错误,Ghostscript会发布一些可能对您有所帮助的信息.在任何情况下,至少你可以肯定地识别那些没有问题的文件:如果Ghostscript可以处理它们,Acrobat(Reader)也不会有任何问题.
Row*_*wan 13
验证PDF文件可能是一项非常棘手的任务 - 主要是因为正确执行此操作所需的工具非常昂贵.
Acrobat有一个工具(高级>预检> PDF分析>报告PDF语法问题),可以扫描PDF以查找任何语法问题,但无法以编程方式访问该工具.
Appligent有一个名为pdfHarmmony的工具,由Adobe的PDF库提供支持,可以通过编程方式访问,但价格非常昂贵(2500美元以上).如果您能负担得起,此选项将为您提供最佳结果.
还有另一种选择是3-Heights PDF Analysis&Repair,我不知道它的质量是什么,但同样昂贵.
SourceForge上的这个PDF Validator工具可能会让您感兴趣,但是,它只分析文档结构而不是内容本身,因此不会拾取损坏的图像或内容流.
遗憾的是,由于难以详细分析PDF文件,实际上没有任何可以正确执行的免费工具,但我认为检查文档结构的工具总比没有好.