ページの操作ページの作成PDF ドキュメントのページは、Zend_Pdf の Zend_Pdf_Page クラスで表されます。 PDF ページは既存の PDF から読み込むこともできますし、 新しく作成することもできます。 新しいページを取得するには、直接 Zend_Pdf_Page オブジェクトを作成するか、 Zend_Pdf::newPage() メソッドをコールします。このメソッドは Zend_Pdf_Page オブジェクトを返します。 Zend_Pdf::newPage() の場合は、すでにドキュメントにアタッチされているページを作成するという点が異なります。 アタッチされたページは複製されない限り、他の PDF で使用できません。 詳しくは ページの複製 セクションをご覧ください。 Zend_Pdf::newPage() メソッドおよび Zend_Pdf_Page のコンストラクタは、どちらも同じ形式のパラメータを受け取ります。 ページサイズを ($x, $y) 形式のポイント数 (1/72 インチ) で表したものか、定義済みの定数のうちのいずれかになります。 以下の定数が定義されています。
ドキュメントのページは、Zend_Pdf クラスの public メンバである $pages に保存されます。これは Zend_Pdf_Page オブジェクトの配列です。これによってページの並び順も定義され、 一般的な配列と同じように操作できます。 Example #1 PDF ドキュメントのページの操作
ページの複製既存の PDF ページを繰り返すには、新しい Zend_Pdf_Page オブジェクトを作成する際に既存のページをパラメータとして指定します。 Example #2 既存のページを繰り返す
これは、ひとつのテンプレートから複数のページを作成したい場合に便利です。 Caution
注意! 繰り返されたページは、テンプレートページと同じ PDF リソースを共有します。つまり、 テンプレートページと同じドキュメントしか使用できません。 ドキュメントを修正したら、新しいページとして保存できます。
Example #3 既存のページを複製
If several template pages are planned to be used as templates then it could be more efficient to utilize Zend_Pdf_Resource_Extractor class which gives an ability to share resources between cloned pages - fonts, images, etc. (otherwise new resource copy will be created for each cloned page): Example #4 Zend_Pdf_Resource_Extractor クラスを使用して既存のページを複製
|