- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
Two scholars说他们使用 Ghostscript 来验证 PDF。他们对技术的神秘解释是:“为了让 Ghostscript 充当验证器,我们只是将 PDF 文件转换为‘无’。”在 a slideshow ,他们补充说,“无”是“一个虚拟结果,没有真正的输出”,并且转换为无“打印出发现的错误。”
我想以类似的方式使用Ghostscript,也想在这个过程中学习一点Ghostscript,以备将来应用。我对 the Ghostscript documentation 的评论和 a previous StackOverflow answer让我尝试这个(在 Windows 7 虚拟机中使用 Ghostscript Portable 9.50):
gswin64c.exe -o /dev/null -dNODISPLAY "C:\PDFs\Badfile.pdf" > "C:\Results.txt"
我欢迎就这是否是达到此目的的最佳命令提出建议。我的问题与 Results.txt 对 Badfile.pdf 的描述有关。以下是 Results.txt 的内容:
GPL Ghostscript 9.50 (2019-10-15)
Copyright (C) 2019 Artifex Software, Inc. All rights reserved.
This software is supplied under the GNU AGPLv3 and comes with NO WARRANTY:
see the file COPYING for details.
**** Error: An error occurred while reading an XREF table.
**** The file has been damaged. This may have been caused
**** by a problem while converting or transfering the file.
**** Ghostscript will attempt to recover the data.
**** However, the output may be incorrect.
No pages will be processed (FirstPage > LastPage).
**** This file had errors that were repaired or ignored.
**** Please notify the author of the software that produced this
**** file that it does not conform to Adobe's published PDF
**** specification.
**** The rendered output from this file may be incorrect.
我的问题:
(1) 我应该将此输出解释为 XREF 表问题是此文件中的唯一问题,还是可能存在其他未指明的问题?如果是后者,当 Results.txt 报告 Badfile.pdf“不符合 Adobe 发布的 PDF 规范”时,我是否可以修改命令以获得更具体的指示?
(2)“文件已损坏。这可能是由于转换或传输文件时出现问题造成的。”这是否表明,对于某些带标记的 PDF,Ghostscript 识别的问题可能是由于 Ghostscript 本身造成的?
(3) “Ghostscript 将尝试恢复数据。...此文件有已修复或忽略的错误。”我是否可以假设操作词是“忽略”——也就是说,就像那两位学者使用的程序一样,Ghostscript 并没有真正尝试恢复数据,而我的命令产生“没有实际输出”?
(4) 出于某些目的,我可能希望以单行摘要形式输出。例如,JHOVE PDF 验证器的audit 选项可以生成一行包含文件名、MD5 哈希和 PDF 文件是否有效的声明。鉴于学者们发现 JHOVE 存在问题,如果我能将 Ghostscript 的发现放入电子表格中进行比较会有所帮助。
我意识到 Ghostscript 可能没有这一切,我很感激我已经从中得到的东西。但如果我遗漏了什么,我想知道。感谢您提供的任何光亮。
最佳答案
外部参照错误是第一个问题。 GS 试图解决这个问题并继续。然而,下一个错误 (FirstPage > LastPage) 表明它无法解决问题。
这总是一个问题;尝试从文件中的错误中恢复可能意味着忽略一些重要的东西(或误解它),这会导致下一个对象出错,依此类推。
Ghostscript 并非旨在用作验证工具,虽然我们最近在标记问题方面相当勤奋,但早期的代码可能只是默默地忽略它们。另外觉得重复的警告没有意义,烦人,而且很难看出真正的错误,所以很多错误只报告一次,不管这里发生多少次。
所以回答你的问题:
不,这可能不是唯一的错误,这只是遇到的第一个错误。没有更多详细的错误。您可以使用 -dPDFDEBUG 转储解释器正在处理的内容,并将定位某些类型的问题。如果没有更好的错误,“不符合”只是“发生了不好的事情”的样板。
不,这并不是说 Ghostscript 破坏了它。它给出了 PDF 文件损坏的 2 个常见原因;通过非二进制机制(例如电子邮件)或进行 CR/LF 转换或编辑文件的机制进行传输。
你好像不知道你的文件出了什么问题?我看不出有任何理由让您认为 GS 忽略了错误,事实上,在外部参照问题的情况下,它绝对不会忽略它,它会尝试修复它。遗憾的是,“固定”外部参照显然不正确,因为它认为没有页面。
不确定这里的问题是什么; GS 不会输出单行摘要。您可以设置 -dPDFSTOPONERROR 如果 PDF 文件有问题,它将退出并显示错误代码。不过,这将是一条完整的 PostScript 错误消息,而不是一行。
关于validation - Ghostscript 作为 PDF 验证器 : Command and Results,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59746597/
我正在使用 Ghostscript 将多页 PDF 转换为单个 JPEG 文件,并且可以让它输出编号为 page_%03d.jpg 的文件。 但它总是从 page_001.jpg 开始,我需要它从 p
我在windows下的ghostscript中找不到清屏命令。请你帮助我好吗? 谢谢。 最佳答案 所以你想清除文本窗口?怎么样: 28 { ()= } repeat % output 28 bl
如何使用 ghostscript 创建空白页面?我想在将多个 PDF 合并在一起时执行此操作 - 类似于: `gs -dNOPAUSE -o /path/to/output input1.pdf i
我从 Ghostscript 调用中收到此错误消息: Error: /syntaxerror in -file- Operand stack: Execution stack: %interp_
我正在使用 Ghostscript 通过命令行参数打印 PDF。但它在打印机后台处理程序中将打印文档的名称显示为 Ghostscript 输出。我想将其更改为自定义名称(作为字母名称)。 最佳答案 请
我正在使用 Ghostscript 将可搜索的 PDF 转换为图像 PDF,以便使用成像工具包使用命令行查看它们: gswin32 -o c:\temp\output%d.png -r300 -dTe
我已经有大约 20 年没有手工编写 Postscript 代码了,所以我打开了 Bluebook 并将一些示例输入到名为 test.ps 的文件中。这是一个这样的例子: %!PS /doACircle
我知道他的问题到目前为止已经被问过很多次但是没有解决方案能够为能够使用所有者和用户密码保护 pdf 的 ghostscript 提供正确的语法和参数,也使用了加密,我已经使用以下命令但似乎没有人工作:
我知道他的问题到目前为止已经被问过很多次但是没有解决方案能够为能够使用所有者和用户密码保护 pdf 的 ghostscript 提供正确的语法和参数,也使用了加密,我已经使用以下命令但似乎没有人工作:
我应该传递哪些参数?我使用的 Ghostscript 版本是 8.71。 最佳答案 gs \ -dNOSAFER \ -sDEVICE=pdfwrite \ -o foo.pdf \ /us
我是 ghostscript 的新手,我无法理解语法。每当我尝试最简单的命令时,例如 -h 或 -?我收到一个错误,我尝试了各种组合。 GPL Ghostscript 9.05 (2012-0
我的桌面上有一个文件 abc.ps。我已经在我的机器上安装了 Ghostscript 9.05,我想使用命令行查看我的 abc.ps 文件。 GS>????? 我应该在这里写什么命令。我正在使用 Wi
将 CMYK eps 转换为 jpeg 时,Ghostscript 将颜色空间更改为 RGB。问题是在转换过程中保持颜色空间不变。提前谢谢。 最佳答案 假设您要将 EPS 中的任何 RGB 转换为 C
我正在 Linux 服务器中为我的应用程序运行 PostScript 到 PDF 转换服务。我安装了 Ghostscript 版本 8.70。我在 Windows 中使用 gsdll64.dll 、
是否可以使用ghostscript检查pdf是否受密码保护? 命令是什么? 我知道你可以使用 ghostscript 去除 pdf 密码, 但我想做的只是检查 PDF 是否受密码保护或启用安全性。 最
例子: 从 Excel 创建一张单页横向 PDF。使用 Adobe Reader 打开它,它以横向方式打开。使用 Ghostscript 打印它。使用 Adobe Reader 打开打印输出,
我正在尝试将彩色 pdf 转换为纯黑白 tiff,即如果颜色不是白色,我希望它是纯黑色。目前我的颜色线条变得有 Blob 和模糊,我认为这是由于半色调。有没有办法覆盖这个半色调?下面的例子。 电流输出
我有一个从 pdflatex 创建的文档,嵌入了 R pdf 图。我现在正试图将它发送给要求嵌入所有字体的打印机 (lulu)。我想,没问题, # gs -dNOPAUSE -dBATCH -dNOP
我使用这个 Ghostscript 命令将 PDF 转换为图像: gs \ -q -dQUIET -dPARANOIDSAFER -dBATCH -dNOPAUSE -dNOPROMPT \ -d
我有一个ghostscript命令,可将pdf转换为几个PNG图像(每页一个)。命令参数如下: -dNOPAUSE -q -r300 -sPAPERSIZE=a4 -dTextAlphaBits=4
我是一名优秀的程序员,十分优秀!