PDFをPDF/A形式に変換する

Aspose.PDF for PHPを使用すると、PDFファイルをPDF/A準拠のPDFファイルに変換することができます。その前に、ファイルを検証する必要があります。この記事では、その方法を説明します。

PDF/A準拠の検証にはAdobeのPreflightを使用しています。市場に出回っているすべてのツールは、それぞれ独自のPDF/A準拠の「表現」を持っています。参考として、PDF/A検証ツールに関する記事を確認してください。Aspose.PDFが生成するPDFファイルを検証するためにAdobe製品を選んだのは、AdobeがPDFに関連するすべての中心にあるからです。

PDFをPDF/A準拠のファイルに変換する前に、validateメソッドを使用してPDFを検証してください。 検証結果はXMLファイルに保存され、この結果はconvertメソッドにも渡されます。変換できない要素に対するアクションをConvertErrorAction列挙で指定することもできます。

PDFからPDF/Aへの変換

次のコードスニペットは、PDFファイルをPDF/A-1b準拠のPDFに変換する方法を示しています。

// 新しいDocumentオブジェクトを作成し、入力PDFファイルを読み込みます。
$document = new Document($inputFile);

// ドキュメントをPDF/A-1a形式に変換し、ログファイルとエラーアクションを指定します。
$res = $document->convert($logFile, PdfFormat::$PDF_A_1A, ConvertErrorAction::$Delete);

// 変換されたドキュメントを出力ファイルに保存します。
$document->save($outputFile);

検証のみを行うには、次のコード行を使用します:

// 新しいDocumentオブジェクトを作成し、入力PDFファイルを読み込みます。
$document = new Document($inputFile);

// ドキュメントをPDF/A-1a形式に変換し、ログファイルとエラーアクションを指定します。
$res = $document->convert($logFile, PdfFormat::$PDF_A_1A, ConvertErrorAction::$Delete);

// PDFをPDF/A-1aとして検証します。
if ($document->validate("validation-result-A1A.xml", PdfFormat.PDF_A_1A))
{
    echo "Valid";
}
else
{
    echo "Not valid";
}