PDF / A是便携式文件格式的ISO标准化版本,
(PDF)专门用于电子保存电子文件


(https:/ /en.wikipedia.org/wiki/PDF/A)
这很棒,但是有没有免费的工具来检查单个PDF文件是否符合任何PDF / A子标准(PDF / A -1,PDF / A-2,PDF / A-3)?
在这个(旧的)网站上,我找到了一系列商用工具:


Acrobat 8预检(由callas软件开发)
PDF Tools AG:3高度PDF验证器

LuraTech:LuraDocument PDF验证器

密封系统:PDF Checker

Intarsys:PDF / A Live!

callas:pdfaPilot

Apago:PDF评估器(由Actino销售)

但是,给出了鉴于此主题的重要性,我希望有某种免费提供的工具。作为一个愿景,如果已经建立的开源PDF工具包(例如poppler)支持这种分析,那就太好了。

评论

您是否要检查文档是否声称符合PDF / A标准,还是要真正检查其是否符合PDF / A标准?在第一种情况下,您将需要显示元数据的工具,例如Adobe Reader。在第二种情况下,您很可能将无法使用商业工具(因为确定合规性不是一件容易的事)。

我想检查是否合规。我知道这不是一项艰巨的任务。不过,仍然有许多高度复杂和高质量的PDF代码是开源的(ghostscript和poppler,仅举两个例子),因此我认为从该工具推断免费或OS软件的可用性并不是一个公平的假设。任务的复杂性:-)。但是我想您在该领域也有一定经验,是否进行过互联网搜索? :)

没有免费的PDF / A验证器。欧盟委员会已经启动了创建此类验证器的项目。您可以在此处阅读有关此内容的更多信息:pdfa.org/news/…由于这不是一项琐碎的任务,所以您可以想象该项目远未完成。我不知道任何可用的交付物。

#1 楼

有霍夫。 JHove是一个开放源代码工具,可在某种程度上“验证” PDF / A的合规性。许多图书馆/机构都在使用它,因此从这个角度来看,它是我的问题的一个很好的答案。

最近,已经有一篇关于JHove的文章在现代文档存储系统的背景下发表:http: //www.pdfa.org/wp-content/uploads/2014/12/PDF_A_JHOVE_Friese_28112014_zh-CN.pdf

引用一下它:


JHOVE是开放的识别,表征和验证pdf,tiff,jpeg,aiff和wave等常见格式的源工具。
JHOVE包括用于十二种不同文件格式的验证模块,
包括PDF。





s许多内存机构主要使用PDF格式,并且文件的质量
不足以作为将其转换为
PDF / A的论据,我相信标准的PDF验证器仍然有必要作为
一直如此。通常,尽管存在局限性,JHOVE仍将继续使用。
关于给定文件的可归档性的决定取决于JHOVE给出的结果。

JHOVE可以如果用户了解其错误报告并了解解决问题的方法,它仍然很有用。到目前为止,关于此问题的文档还很多。 Nestor(AG格式
认可)和开放保护基金会都致力于尽其所能
,以尽快改善这种情况。


这里列出了JHove错误消息:
http://wiki.opf-labs.org/display/KB/JHOVE+Error+Messages

评论


有人应该尝试看看基于iText的验证进行得如何:api.itextpdf.com/pdfa

– Jan-Philip Gehrcke
2015年10月6日在10:15

#2 楼

PDFBox
您可能想签出(开源)Apache PDFBox库:
https://pdfbox.apache.org
其中包括一个PDF / A验证器(PDF / A-1b仅),这是相当不错的。我建议您查看PDFBox 2.0.0(目前是候选版本);您可以在此处找到它:
https://pdfbox.apache.org/download.cgi#20x
,然后下载预构建的Preflight独立二进制文件(当前为preflight-app-2.0.0-RC1。 jar)。
以下博客文章总结了作为研究项目的一部分我们在Apache Preflight上所做的一些工作(它包含指向一些您可能会发现有用的其他资源的链接):
https:// www。 bitsgalore.org/2015/07/08/why-pdfa-validation-matters-part-2
VeraPDF
在旁注中,布鲁诺·洛瓦吉(Bruno Lowagie)提到了欧盟资助的新型验证器。现在称为VeraPDF。他们只是在2015年10月发布了一个早期版本,该版本完全涵盖了PDF / a1b(以及对PDF / A-1a,PDF / A-2和PDF / A-3的部分支持)。此处的更多信息:
http://verapdf.org/2015/11/02/complete-pdfa-1b-coverage-now-available-in-0-6-release-of-verapdf/
这仍处于早期阶段,但是它们似乎正在快速发展,因此绝对值得关注。

评论


+1为VeraPDF。

– jhyot
16年1月27日在20:44

#3 楼

您可以使用veraPDF:


开放源代码(veraPDF在GNU通用公共许可证v3或更高版本(GPLv3 +)和Mozilla公共许可证v2或更高版本(MPLv2 +)下具有双重许可。)
Linux,Mac OS X,Microsoft Windows用Java编写的
CLI或GUI









Usage: veraPDF [options] FILES
  Options:
    -x, --extract
       Extracts and reports PDF features.
       Default: false
    --fixmetadata
       Performs metadata fixes.
       Default: false
    -f, --flavour
       Chooses built-in Validation Profile flavour, e.g. '1b'. Alternatively,
       supply '0' or no argument for automatic flavour detection based on a file
's
       metadata.
       Default: 0
       Possible Values: [0, 1a, 1b, 2a, 2b, 2u, 3a, 3b, 3u]
    --format
       Chooses output format.
       Default: mrr
       Possible Values: [xml, mrr, text]
    -h, --help
       Shows this message and exits.
       Default: false
    -l, --list
       Lists built-in Validation Profiles.
       Default: false
    --maxfailures
       Sets maximum amount of failed checks.
       Default: -1
    --maxfailuresdisplayed
       Sets maximum amount of failed checks displayed for each rule.
       Default: 100
    -o, --off
       Turns off PDF/A validation
       Default: false
    --policyfile
       Select a policy schematron or XSL file.
    --prefix
       Sets file name prefix for any fixed files.
       Default: veraFixMd_
    -p, --profile
       Loads a Validation Profile from given path and exits if loading fails.
       This overrides any choice or default implied by the -f / --flavour option
.
    -r, --recurse
       Recurses through directories. Only files with .pdf extensions are
       processed.
       Default: false
    --savefolder
       Sets output directory for any fixed files.
       Default: <empty string>
    --success, --passed
       Logs successful validation checks.
       Default: false
    -v, --verbose
       Adds failed test information to text output.
       Default: false
    --version
       Displays veraPDF version information.
       Default: false

veraPDF is processing STDIN and is expecting an EOF marker.
If this isn't your intention you can terminate by typing an EOF equivalent:
 - Linux or Mac users should type CTRL-D
 - Windows users should type CTRL-Z