我正在使用PDFBOX Preflight验证pdf文档,以检查它是否为PDF / A-1b格式。它在java 1.7上运行得很好,但是当我在java 1.8中运行代码时,我会得到以下错误
2.4.3:无效的色彩空间,缺少DestOutputProfile
2.4.3:无效的色彩空间,缺少DestOutputProfile
2.4.3:无效的色彩空间,缺少DestOutputProfile
7.11:MetaData错误
我正在使用pdfbox 1.8.8和preflight 1.8.3
以下是我用于验证执行此操作的PDF的代码。
ValidationResult result = null;
FileDataSource fd = new FileDataSource(InputFolder
+ listOfFiles[i].getName());
PreflightParser parser = new PreflightParser(fd);
try {
parser.parse(Format.PDF_A1A);
PreflightDocument documentt = parser
.getPreflightDocument();
documentt.validate();
result = documentt.getResult();
documentt.close();
} catch (SyntaxValidationException e) {
result = e.getResult();
}
if (result.isValid()) {
System.out
.println("The file is a valid PDF/A-1a file");
} else {
System.out.println("The file is not valid, error(s) :");
for (ValidationError error : result
.getErrorsList()) {
message = error.getErrorCode() + " : "
+ error.getDetails();
fos.write(message.getBytes());
fos.write(System.getProperty(
"line.separator").getBytes());
// System.out.println(error.getErrorCode() +
// " : " + error.getDetails());
}
}
PDFBOX与java 1.8不兼容,还是我做错了什么?
答案 0 :(得分:3)
在评论中解决:始终使用相同版本的PDFBox和Preflight jar文件,在写入此响应时为1.8.8。
额外奖励建议:在获得您不相信的结果时,获得第二意见"使用free PDF-Tools PDF/A-1b validator。
如果结果不同,请在JIRA中打开问题或尝试2.0 snapshots of PDFBox + preflight: