# PDF ドキュメントの作成および読み込み

Zend_Pdf クラスは PDF ドキュメントを表すもので、 ドキュメントレベルの機能を提供します。

新しいドキュメントを作成するには、新しい Zend_Pdf オブジェクトを作成しなければなりません。

Zend_Pdf クラスでは、既存の PDF を読み込むための 2 つの静的メソッドも提供しています。 Zend_Pdf::load() および Zend_Pdf::parse() です。 これらは両方とも Zend_Pdf オブジェクトを返します。 エラーが発生した場合には例外がスローされます。

新しい PDF ドキュメントの作成あるいは既存の PDF ドキュメントの読み込み

    ...
    // 新しい PDF ドキュメントを作成します。
    $pdf1 = new Zend_Pdf();

    // ファイルから PDF ドキュメントを読み込みます。
    $pdf2 = Zend_Pdf::load($fileName);

    // 文字列から PDF ドキュメントを読み込みます。
    $pdf3 = Zend_Pdf::parse($pdfString);
    ...

PDF ファイルでは、ドキュメントのインクリメンタルな更新がサポートされています。 つまり、ドキュメントを更新するたびに、そのドキュメントの新しい版が作成されます。 Zend_Pdf モジュールには、指定した版を取得する機能も含まれています。

版を指定するには Zend_Pdf::load() および Zend_Pdf::parse() メソッドの第 2 引数を使用するか、 Zend_Pdf::rollback() を使用します。

Zend_Pdf::rollback() メソッドは、 変更がドキュメントに適用される前に起動しなければなりません。 それ以外の場合の挙動は未定義です。

call.

指定した版の PDF ドキュメントの取得

    ...
    // 前の版の PDF ドキュメントを読み込みます。
    $pdf1 = Zend_Pdf::load($fileName, 1);

    // 前の版の PDF ドキュメントを読み込みます。
    $pdf2 = Zend_Pdf::parse($pdfString, 1);

    // ドキュメントの最初の版を読み込みます。
    $pdf3 = Zend_Pdf::load($fileName);
    $revisions = $pdf3->revisions();
    $pdf3->rollback($revisions - 1);
    ...