Zend_Pdf-Pages.xml 5.2 KB

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