Я использую Apache PDFBox для создания очень простого PDF-файла с одной строкой текста, соответствующего PDFA 2b, и я хочу использовать VeraPDF для проверки этого PDF-файла на соответствие. Вера сообщает мне, что PDF-файл не соответствует требованиям, и показывает два неверных утверждения:
TestAssertion [ruleId=RuleId [specification=ISO 19005-2:2011, clause=6.6.2.1, testNumber=1], status=failed, message=The Catalog dictionary of a conforming file shall contain the Metadata key whose value is a metadata stream as defined in ISO 32000-1:2008, 14.3.2., location=Location [level=CosDocument, context=root/document[0]], locationContext=null, errorMessage=null]
TestAssertion [ruleId=RuleId [specification=ISO 19005-2:2011, clause=6.2.4.3, testNumber=4], status=failed, message=DeviceGray shall only be used if a device independent DefaultGray colour space has been set when the DeviceGray colour space is used, or if a PDF/A OutputIntent is present., location=Location [level=CosDocument, context=root/document[0]/pages[0](4 0 obj PDPage)/contentStream[0](6 0 obj PDContentStream)/operators[3]/fillCS[0]], locationContext=null, errorMessage=null]
Когда я проверяю сгенерированный PDF-файл с помощью debugger-app-2.0.31.jar, я могу найти метаданные. Когда я сравниваю метаданные с pdf-файлом из регрессионного теста VeraPDF (например, с этим), единственное различие, которое мне кажется актуальным, - это тег Begin="". В тестовом файле vera
Я использую Apache PDFBox для создания очень простого PDF-файла с одной строкой текста, соответствующего PDFA 2b, и я хочу использовать VeraPDF для проверки этого PDF-файла на соответствие. Вера сообщает мне, что PDF-файл не соответствует требованиям, и показывает два неверных утверждения: [list] [*][code]TestAssertion [ruleId=RuleId [specification=ISO 19005-2:2011, clause=6.6.2.1, testNumber=1], status=failed, message=The Catalog dictionary of a conforming file shall contain the Metadata key whose value is a metadata stream as defined in ISO 32000-1:2008, 14.3.2., location=Location [level=CosDocument, context=root/document[0]], locationContext=null, errorMessage=null][/code] [*][code]TestAssertion [ruleId=RuleId [specification=ISO 19005-2:2011, clause=6.2.4.3, testNumber=4], status=failed, message=DeviceGray shall only be used if a device independent DefaultGray colour space has been set when the DeviceGray colour space is used, or if a PDF/A OutputIntent is present., location=Location [level=CosDocument, context=root/document[0]/pages[0](4 0 obj PDPage)/contentStream[0](6 0 obj PDContentStream)/operators[3]/fillCS[0]], locationContext=null, errorMessage=null][/code] [/list] Мой код выглядит примерно так: [code]try (ByteArrayOutputStream baos = new ByteArrayOutputStream(); PDDocument document = new PDDocument(); COSStream cosStream = new COSStream()) { PDPage page = new PDPage(); document.addPage(page);
PDDocumentInformation documentInformation = new PDDocumentInformation(); documentInformation.setTitle("Name"); documentInformation.setCreator("Creator"); documentInformation.setSubject("Subject"); document.setDocumentInformation(documentInformation);
document.save(baos); try (PDFAParser parser = Foundries.defaultInstance().createParser(new ByteArrayInputStream(baos.toByteArray()), PDFAFlavour.PDFA_2_B)) { PDFAValidator validator = Foundries.defaultInstance().createValidator(PDFAFlavour.PDFA_2_B, false); ValidationResult result = validator.validate(parser); System.out.println(result.isCompliant()); } } [/code] Когда я проверяю сгенерированный PDF-файл с помощью debugger-app-2.0.31.jar, я могу найти метаданные. Когда я сравниваю метаданные с pdf-файлом из регрессионного теста VeraPDF (например, с этим), единственное различие, которое мне кажется актуальным, - это тег Begin="". В тестовом файле vera
Я пытаюсь создать PDF-файл с соответствием PDFA PdfaConformanceEnum.PDFA_3B, но при экспорте PDF-файл в этом формате не создается.
Это конфигурация, которую я использовал, чтобы попытаться создать файл PDFA_3B. Чего мне не хватает?...
Я думаю об оценке покерной комбинации (5 карт) в Java. Теперь я ищу простоту и ясность, а не производительность и эффективность. Я, наверное, смогу написать «наивный» алгоритм, но для этого потребуется много кода.
Я подумываю об оценке покерной комбинации (5 карт) на Java. Теперь я ищу простоту и ясность, а не производительность и эффективность. Я, наверное, смогу написать «наивный» алгоритм, но для этого потребуется много кода.
Я подумываю об оценке покерной комбинации (5 карт) на Java. Теперь я ищу простоту и ясность, а не производительность и эффективность. Я, наверное, смогу написать «наивный» алгоритм, но для этого потребуется много кода.