[ZF-10089] Zend_Log
[zend.git] / documentation / manual / ru / module_specs / Zend_Pdf-Pages.xml
blob66553dc02b1d180c7e16c3570bcfc86b09441fc1
1 <sect1 id="zend.pdf.pages">
2     <title>Страницы документа<!-- Document pages. --></title>
3     <para>
4     Абстракция страницы документа PDF представлена классом <code>Zend_Pdf_Page</code>.
5 <!--
6     PDF document page abstraction is represented by <code>Zend_Pdf_Page</code> class.
7 -->
8     </para>
10     <para>
11     Страницы PDF либо загружаются из существующего документа PDF, либо создаются.
12 <!--
13     PDF pages either are loaded from existing PDF, or created.
14 -->
15     </para>
17     <para>
18     Новая страница может быть получена посредством создания нового объекта
19     <code>Zend_Pdf_Page</code> или вызова метода <code>Zend_Pdf::newPage()</code>,
20     который возвращает объект <code>Zend_Pdf_Page</code>. Их различие в том, что
21     метод <code>Zend_Pdf::newPage()</code> создает страницу, уже прикрепленную
22     к документу. В отличие от неприкрепленой, она не может использоваться
23     с несколькими документами PDF, но имеет несколько лучшую производительность.
24 <!--
25     New page can be obtained by creating new <code>Zend_Pdf_Page</code> object or calling
26     <code>Zend_Pdf::newPage()</code> method, which returns <code>Zend_Pdf_Page</code> object.
27     The difference is that <code>Zend_Pdf::newPage()</code> method creates a page, already attached to
28     the document. In difference from unattached pages it can't be used with several PDF documents,
29     but has a little bit better performance.
30 -->
31     <footnote>
32         <para>
33         Имеется ограничение версии V1.0 модуля Zend_Pdf. Она будет устранена в
34         будущих версиях. Но неприкрепленные страницы всегда дают лучший (более
35         оптимальный) результат при совместном использовании в нескольких документах.
36 <!--
37         It's a limitation of V1.0 version of Zend_Pdf module. It will be eliminated in future versions.
38         But unattached pages will always give better (more optimal) result for sharing pages between documents.
39 -->
40         </para>
41     </footnote>
42     . Какой подход использовать — решать вам.
43 <!--
44     . It's your choice, which approach should be used.
45 -->
46     </para>
48     <para>
49     Метод <code>Zend_Pdf::newPage()</code> и конструктор <code>Zend_Pdf_Page</code>
50     принимают одинаковый набор параметров. Это либо размер страницы ($x, $y) в
51     пойнтах (1pt = 1/72 inch), либо предопределенная константа, которая
52     трактуется как тип страницы:
54 <!--
55     <code>Zend_Pdf::newPage()</code> method and <code>Zend_Pdf_Page</code> constructor take the same
56     set of parameters. It either the size of page ($x, $y) in a points (1/72 inch), or predefined constant,
57     which is treated as a page type:
58 -->
59         <itemizedlist>
60             <listitem>
61                 <para>Zend_Pdf_Const::PAGESIZE_A4</para>
62             </listitem>
63             <listitem>
64                 <para>Zend_Pdf_Const::PAGESIZE_A4_LANDSCAPE</para>
65             </listitem>
66             <listitem>
67                 <para>Zend_Pdf_Const::PAGESIZE_LETTER</para>
68             </listitem>
69             <listitem>
70                 <para>Zend_Pdf_Const::PAGESIZE_LETTER_LANDSCAPE</para>
71             </listitem>
72         </itemizedlist>
73     </para>
75     <para>
76     Страницы документа хранятся в открытом члене <varname>$pages</varname> класса
77     <code>Zend_Pdf</code>. Это массив объектов <code>Zend_Pdf_Page</code>.
78     Он полностью описывает набор и порядок страниц документа и с ним можно
79     работать, как с обычным массивом:
80 <!--
81     Document pages are stored in <varname>$pages</varname> public member of <code>Zend_Pdf</code> class.
82     It's an array of <code>Zend_Pdf_Page</code> objects. It completely defines set and order of document pages
83     and can be manipulated as a common array:
84 -->
85     </para>
87     <example>
88         <title>Управление страницами документа PDF<!-- PDF document pages management. --></title>
89         <programlisting language="php"><![CDATA[<?php
90 ...
91 // Изменение порядка страниц на противоположный
92 $pdf->pages = array_reverse($pdf->pages);
93 ...
94 // Добавление новой страницы
95 $pdf->pages[] = new Zend_Pad_Page(Zend_Pdf_Const::PAGESIZE_A4);
96 // Добавление новой страницы
97 $pdf->pages[] = $pdf->newPage(Zend_Pdf_Const::PAGESIZE_A4);
99 // Удаление определенной страницы
100 unset($pdf->pages[$id]);
103 ?>]]></programlisting>
104     </example>
106 </sect1>
107 <!--
108 vim:se ts=4 sw=4 et: