У меня есть задача создать PHP-инструмент с использованием TCPDF/FPDI, который использует существующие PDF-файлы и преобразует их в стандарт PDF/A при добавлении сертификата.Созданный TCPDF PDF не соответствует стандарту PDF/A
К сожалению, все сгенерированные PDF-файлы не соответствовали стандарту PDF/A. Я также попытался создать случайный тестовый документ, как показано здесь https://tcpdf.org/examples/example_065/, но этот документ также не соответствовал.
Это мой код:
public static function convertPdf($path)
{
$pdf = new \FPDI(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false, true);
$pagecount = $pdf->setSourceFile(ROOT . $path);
for ($i = 1; $i <= $pagecount; $i++) {
$tpl = $pdf->importPage($i);
$size = $pdf->getTemplateSize($tpl);
$orientation = $size['h'] > $size['w'] ? 'P':'L';
$pdf->AddPage($orientation);
$pdf->useTemplate($tpl, null, null, $size['w'], $size['h'], true);
}
$pdf->SetCreator("Creator");
$pdf->SetAuthor('Nicola Asuni');
$pdf->SetTitle('My PDFA example');
$pdf->SetSubject('TCPDF Tutorial');
$certificatePath = 'file://' . ROOT . '/libs/TCPDF-master/examples/data/cert/tcpdf.crt';
// set additional information
$info = array(
'Name' => 'TCPDF',
'Location' => 'Office',
'Reason' => 'Testing TCPDF',
'ContactInfo' => 'http://www.tcpdf.org',
);
$pdf->setSignature($certificatePath, $certificatePath, 'tcpdfdemo', '', 2, $info);
$pdf->addEmptySignatureAppearance(0, 0, 0, 0);
$pdf->Output('example_065.pdf', 'I');
}
Я использовал этот https://www.pdf-online.com/osa/validate.aspx, чтобы проверить мой PDF. Он генерирует этот выход:
Соответствие pdfa-1b Результат Документ не соответствует PDF/A. Подробности Подтверждающий файл "testerrrrr.pdf" для уровня соответствия pdfa-1b - это данные после маркера EOF. pdfaExtension: schemas/[0] :: Отсутствует Обязательное поле 'property' в типе значения 'Schema'. pdfaExtension: schemas/ [0] :: Отсутствует обязательное поле 'valueType' в тип значения 'Schema'. pdfaExtension: schemas/[1] :: Отсутствует необходимый Поле «valueType» в типе значения «Схема». pdfaExtension: schemas/ [2] :: Отсутствует обязательное поле 'valueType' в типе значения 'Schema'. Словарь внешнего вида не содержит записи. Ключ S имеет значение Прозрачность, которая запрещена. Документ не соответствует запрошенному стандарту . Формат файла (заголовок, трейлер, объекты, xref, потоков) поврежден. Документ содержит прозрачность. Документ содержит аннотации или поля формы с неопределенным или без соответствующих изображений. Метаданные документа отсутствуют или непоследовательны или повреждены. Готово.
Какой валидатор говорит, что он недействителен и на что он жалуется? –