PDFbox飞行前PDF/A-1b检查在java 1.8版中工作不正常
我正在使用PDFBOX飞行前验证pdf文档,以检查它是否为pdf/A-1b格式。它在Java1.7上运行得非常好,但是当我在Java1.8中运行代码时,我会遇到以下错误 2.4.3:颜色空间无效,缺少DestOutputProfile 2.4.3:颜色空间无效,缺少DestOutputProfile 2.4.3:颜色空间无效,缺少DestOutputProfile 7.11:元数据错误 我正在使用pdfbox 1.8.8和飞行前1.8.3 下面是我用来验证PDF的代码PDFbox飞行前PDF/A-1b检查在java 1.8版中工作不正常,java,pdf,pdfbox,pdfa,Java,Pdf,Pdfbox,Pdfa,我正在使用PDFBOX飞行前验证pdf文档,以检查它是否为pdf/A-1b格式。它在Java1.7上运行得非常好,但是当我在Java1.8中运行代码时,我会遇到以下错误 2.4.3:颜色空间无效,缺少DestOutputProfile 2.4.3:颜色空间无效,缺少DestOutputProfile 2.4.3:颜色空间无效,缺少DestOutputProfile 7.11:元数据错误 我正在使用pdfbox 1.8.8和飞行前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不兼容还是我做错了什么?如注释中所述:始终使用相同版本的PDFBOX和飞行前jar文件,在编写此响应时为1.8.8 额外的额外建议:当得到你们不相信的结果时,用“第二意见”
如果结果不同,请在中打开一个问题或尝试:这可能是最好在用户邮件列表或JIRA上提出的问题类型,因为它可能需要大量的往返。但是,请确保1)您使用的是相同的版本,2)该文件可用于评估。您还可以使用检查文件。祝你好运@蒂尔曼你介意我问你几个问题吗。。。。或者我应该问一个新问题。这取决于它是否与这个话题有关。对于新的主题,你应该提出一个新的问题(想法是你的问题应该在将来帮助用户)。但你真的应该做我在第一篇评论中提到的事情,即1)使用相同版本的pdfbox和preflight,2)使用PDF工具测试你的文件。3) 使该文件可用。@蒂尔曼你的建议奏效了。我实际上使用了不同版本的preflight.jar和pdfbox jar。然后我使用了1.8.8版本的二者及其工作原理。我认为我们应该把这一评论作为这个问题的答案。