CreateValidationReport
Compliance
Descrição
Cria um relatório estruturado de validação PDF/A e PDF/UA-1 em XML ou JSON, associando a cláusula ISO e estatísticas a cada resultado
Sintaxe
Delphi
Function TPDFlib.CreateValidationReport(Const InputFileName, Password: WideString; ComplianceTests, Options, ReportFormat: Integer): WideString;Parâmetros
| InputFileName | O ficheiro PDF a validar |
|---|---|
| Password | A palavra-passe necessária para abrir o ficheiro, ou uma cadeia vazia |
| ComplianceTests | Máscara de bits que seleciona as verificações: 1 = PDF/A, 2 = PDF/UA-1, 0 = ambas |
| Options | Passado para as verificações; 1 para na primeira ocorrência de cada verificação |
| ReportFormat | 0 = XML, 1 = JSON |
Valores devolvidos
| Empty string | O ficheiro de entrada não existe |
|---|---|
| Report | O documento completo do relatório |
Observações
Quando são selecionadas várias normas, o ficheiro é analisado uma única vez e ambas as auditorias partilham o mesmo leitor, estado de segurança, gráfico de objetos do documento e cache de objetos diferida
Cada ocorrência contém o ID da regra, a norma à qual pertence (ISO 19005-1 ou ISO 14289-1), um nome curto de regra legível por máquina, a cláusula ISO aplicada pela regra, uma gravidade e o número de objetos afetados. Cada elemento de verificação termina com o respetivo resultado e número de problemas, e o relatório termina com um resumo que contém o veredicto do documento, o número total de problemas e o número de verificações aprovadas e falhadas
Uma norma que não tenha sido solicitada é comunicada como not-checked, e não como uma verificação aprovada, para que uma execução que tenha abrangido apenas uma norma não possa ser confundida com um resultado integralmente satisfatório
Difere de CreatePreflightReportEx, que primeiro renderiza um relatório legível e depois converte esse texto em JSON, HTML ou CSV. O relatório de validação é composto a partir da saída em bruto das verificações, pelo que uma cadeia de compilação pode impor uma regra por ID ou cláusula ISO, em vez de procurar subcadeias numa frase
Exemplo
Report:= PDF.CreateValidationReport('invoice.pdf', '', 0, 0, 1);
if Pos('"result": "failed"', Report)> 0 then
ShowMessage('the file did not pass validation');Consulte também
CreateValidationPipelineReport, SaveValidationReport, CheckFileCompliance, CreatePreflightReport, CreatePreflightReportEx