<?xml version="1.0" encoding="UTF-8"?>
<!-- Reviewed: no -->
<!-- EN-Revision: 24249 -->
<sect1 id="zend.pdf.create">
    <title>PDF ドキュメントの作成および読み込み</title>
    <para>
    <classname>Zend_Pdf</classname> クラスは <acronym>PDF</acronym> ドキュメントを表すもので、
    ドキュメントレベルの機能を提供します。
    </para>

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

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

    <example id="zend.pdf.create.example-1">
        <title>新しい PDF ドキュメントの作成あるいは既存の PDF ドキュメントの読み込み</title>
        <programlisting language="php"><![CDATA[
...
// 新しい PDF ドキュメントを作成します。
$pdf1 = new Zend_Pdf();

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

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

    <para>
    <acronym>PDF</acronym> ファイルでは、ドキュメントのインクリメンタルな更新がサポートされています。
    つまり、ドキュメントを更新するたびに、そのドキュメントの新しい版が作成されます。
    <classname>Zend_Pdf</classname> モジュールには、指定した版を取得する機能も含まれています。
    </para>
    <para>
    版を指定するには <methodname>Zend_Pdf::load()</methodname> および
    <methodname>Zend_Pdf::parse()</methodname> メソッドの第 2 引数を使用するか、
    <methodname>Zend_Pdf::rollback()</methodname> を使用します。
        <footnote>
            <para>
            <methodname>Zend_Pdf::rollback()</methodname> メソッドは、
            変更がドキュメントに適用される前に起動しなければなりません。
            それ以外の場合の挙動は未定義です。
            </para>
        </footnote>
    call.
    </para>

    <example id="zend.pdf.create.example-2">
        <title>指定した版の PDF ドキュメントの取得</title>
        <programlisting language="php"><![CDATA[
...
// 前の版の 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);
...
]]></programlisting>
    </example>

</sect1>
<!--
vim:se ts=4 sw=4 et:
-->
