|
|
@@ -1,19 +1,22 @@
|
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
|
-<!-- EN-Revision: 20760 -->
|
|
|
+<!-- EN-Revision: 20854 -->
|
|
|
<!-- Reviewed: no -->
|
|
|
<sect1 id="zend.pdf.drawing">
|
|
|
<title>Zeichnen</title>
|
|
|
|
|
|
<sect2 id="zend.pdf.drawing.geometry">
|
|
|
<title>Geometrie</title>
|
|
|
+
|
|
|
<para>
|
|
|
<acronym>PDF</acronym> verwendet die selbe Geometrie wie PostScript. Sie beginnt an der
|
|
|
linken unteren Ecke der Seite und wird in Punkten (1/72 Zoll) gemessen.
|
|
|
</para>
|
|
|
+
|
|
|
<para>
|
|
|
Die Seitengröße kann vom Seitenobjekt erhalten werden:
|
|
|
</para>
|
|
|
- <programlisting language="php"><![CDATA[
|
|
|
+
|
|
|
+ <programlisting language="php"><![CDATA[
|
|
|
$width = $pdfPage->getWidth();
|
|
|
$height = $pdfPage->getHeight();
|
|
|
]]></programlisting>
|
|
|
@@ -21,6 +24,7 @@ $height = $pdfPage->getHeight();
|
|
|
|
|
|
<sect2 id="zend.pdf.drawing.color">
|
|
|
<title>Farben</title>
|
|
|
+
|
|
|
<para>
|
|
|
<acronym>PDF</acronym> bietet leistungsfähige Möglichkeiten für die Farbdarstellung. Die
|
|
|
<classname>Zend_Pdf</classname> Komponente unterstützt die Grauskala sowie RGB und CYMK
|
|
|
@@ -30,7 +34,8 @@ $height = $pdfPage->getHeight();
|
|
|
<classname>Zend_Pdf_Color_Rgb</classname> und <classname>Zend_Pdf_Color_Cmyk</classname>
|
|
|
Klassen stellen folgende Funktionalitäten bereit:
|
|
|
</para>
|
|
|
- <programlisting language="php"><![CDATA[
|
|
|
+
|
|
|
+ <programlisting language="php"><![CDATA[
|
|
|
// $grayLevel (Fließkommazahl)
|
|
|
// 0.0 (schwarz) - 1.0 (weiß)
|
|
|
$color1 = new Zend_Pdf_Color_GrayScale($grayLevel);
|
|
|
@@ -48,6 +53,7 @@ $color3 = new Zend_Pdf_Color_Cmyk($c, $m, $y, $k);
|
|
|
Die HTML Farben werden auch durch die Klasse <classname>Zend_Pdf_Color_Html</classname>
|
|
|
bereitgestellt:
|
|
|
</para>
|
|
|
+
|
|
|
<programlisting language="php"><![CDATA[
|
|
|
$color1 = new Zend_Pdf_Color_Html('#3366FF');
|
|
|
$color2 = new Zend_Pdf_Color_Html('silver');
|
|
|
@@ -57,14 +63,17 @@ $color3 = new Zend_Pdf_Color_Html('forestgreen');
|
|
|
|
|
|
<sect2 id="zend.pdf.drawing.shape-drawing">
|
|
|
<title>Zeichnen von Formen</title>
|
|
|
+
|
|
|
<para>
|
|
|
Alle Zeichenoperationen können im Kontext einer <acronym>PDF</acronym> Seite
|
|
|
durchgeführt werden.
|
|
|
</para>
|
|
|
+
|
|
|
<para>
|
|
|
Die <classname>Zend_Pdf_Page</classname> Klass stellt einen Satz von einfachen Formen
|
|
|
bereit:
|
|
|
</para>
|
|
|
+
|
|
|
<programlisting language="php"><![CDATA[
|
|
|
/**
|
|
|
* Zeichne eine Linie von x1,y1 nach x2,y2.
|
|
|
@@ -77,6 +86,7 @@ $color3 = new Zend_Pdf_Color_Html('forestgreen');
|
|
|
*/
|
|
|
public function drawLine($x1, $y1, $x2, $y2);
|
|
|
]]></programlisting>
|
|
|
+
|
|
|
<programlisting language="php"><![CDATA[
|
|
|
/**
|
|
|
* Zeichne ein Rechteck.
|
|
|
@@ -97,6 +107,7 @@ public function drawLine($x1, $y1, $x2, $y2);
|
|
|
public function drawRectangle($x1, $y1, $x2, $y2,
|
|
|
$fillType = Zend_Pdf_Page::SHAPE_DRAW_FILL_AND_STROKE);
|
|
|
]]></programlisting>
|
|
|
+
|
|
|
<programlisting language="php"><![CDATA[
|
|
|
/**
|
|
|
* Zeichne ein gerundetes Rechteck.
|
|
|
@@ -122,6 +133,7 @@ public function drawRectangle($x1, $y1, $x2, $y2,
|
|
|
public function drawRoundedRectangle($x1, $y1, $x2, $y2, $radius,
|
|
|
$fillType = Zend_Pdf_Page::SHAPE_DRAW_FILL_AND_STROKE);
|
|
|
]]></programlisting>
|
|
|
+
|
|
|
<programlisting language="php"><![CDATA[
|
|
|
/**
|
|
|
* Zeichne ein Polygon
|
|
|
@@ -143,6 +155,7 @@ public function drawPolygon($x, $y,
|
|
|
$fillMethod =
|
|
|
Zend_Pdf_Page::FILL_METHOD_NON_ZERO_WINDING);
|
|
|
]]></programlisting>
|
|
|
+
|
|
|
<programlisting language="php"><![CDATA[
|
|
|
/**
|
|
|
* Zeichne einen Kreis mit dem Mittelpunkt x, y dem Radius radius.
|
|
|
@@ -178,6 +191,7 @@ public function drawCircle($x,
|
|
|
$param5 = null,
|
|
|
$param6 = null);
|
|
|
]]></programlisting>
|
|
|
+
|
|
|
<programlisting language="php"><![CDATA[
|
|
|
/**
|
|
|
* Zeichne eine Ellipse innerhalb des angegebenen Rechtecks.
|
|
|
@@ -211,6 +225,7 @@ public function drawEllipse($x1,
|
|
|
|
|
|
<sect2 id="zend.pdf.drawing.text-drawing">
|
|
|
<title>Zeichnen von Text</title>
|
|
|
+
|
|
|
<para>
|
|
|
Auch alle Textoperationen können im Kontext einer <acronym>PDF</acronym> Seite
|
|
|
durchgeführt werden. Du kannst eine einzige Textzeile an jeder Position auf der Seite
|
|
|
@@ -218,6 +233,7 @@ public function drawEllipse($x1,
|
|
|
Zeichensatz und die aktuelle Zeichengröße werden für die Textoperationen verwendet
|
|
|
(beachte die detaillierte Beschreibung unten).
|
|
|
</para>
|
|
|
+
|
|
|
<programlisting language="php"><![CDATA[
|
|
|
/**
|
|
|
* Zeichne eine Textzeile an einer bestimmten Position.
|
|
|
@@ -232,14 +248,17 @@ public function drawEllipse($x1,
|
|
|
*/
|
|
|
public function drawText($text, $x, $y, $charEncoding = '');
|
|
|
]]></programlisting>
|
|
|
+
|
|
|
<example id="zend.pdf.drawing.text-drawing.example-1">
|
|
|
<title>Zeichne einen String auf der Seite</title>
|
|
|
+
|
|
|
<programlisting language="php"><![CDATA[
|
|
|
...
|
|
|
$pdfPage->drawText('Hello world!', 72, 720);
|
|
|
...
|
|
|
]]></programlisting>
|
|
|
</example>
|
|
|
+
|
|
|
<para>
|
|
|
Standardmäßig werden Textstrings unter Verwendung der Zeichenkodierungsmethode der
|
|
|
aktuelle "locale" interpretiert. Wenn du einen String hast, der eine andere
|
|
|
@@ -252,8 +271,10 @@ $pdfPage->drawText('Hello world!', 72, 720);
|
|
|
url="http://www.php.net/manual/function.iconv.php">iconv()</ulink></code>
|
|
|
Funktion unterstützt wird.
|
|
|
</para>
|
|
|
+
|
|
|
<example id="zend.pdf.drawing.text-drawing.example-2">
|
|
|
<title>Zeiche einen UTF-8 kodierten String auf der Seite</title>
|
|
|
+
|
|
|
<programlisting language="php"><![CDATA[
|
|
|
...
|
|
|
// Lese einen UTF-8 kodierten String von der Platte
|
|
|
@@ -268,12 +289,14 @@ $pdfPage->drawText($unicodeString, 72, 720, 'UTF-8');
|
|
|
|
|
|
<sect2 id="zend.pdf.drawing.using-fonts">
|
|
|
<title>Verwendung von Zeichensätzen</title>
|
|
|
+
|
|
|
<para>
|
|
|
<methodname>Zend_Pdf_Page::drawText()</methodname> verwendet den aktuellen Zeichensatz
|
|
|
und die aktuelle Zeichengröße der Seite, die mit der Methode
|
|
|
<methodname>Zend_Pdf_Page::setFont()</methodname> festgelegt werden:
|
|
|
</para>
|
|
|
- <programlisting language="php"><![CDATA[
|
|
|
+
|
|
|
+ <programlisting language="php"><![CDATA[
|
|
|
/**
|
|
|
* Lege den aktuellen Zeichensatz fest.
|
|
|
*
|
|
|
@@ -283,6 +306,7 @@ $pdfPage->drawText($unicodeString, 72, 720, 'UTF-8');
|
|
|
*/
|
|
|
public function setFont(Zend_Pdf_Resource_Font $font, $fontSize);
|
|
|
]]></programlisting>
|
|
|
+
|
|
|
<para>
|
|
|
<acronym>PDF</acronym> Dokumente unterstützt PostScript Type1 und TrueType Zeichensätze,
|
|
|
sowie die zwei speziellen <acronym>PDF</acronym> Typen Type3 und zusammengesetzte
|
|
|
@@ -290,6 +314,7 @@ public function setFont(Zend_Pdf_Resource_Font $font, $fontSize);
|
|
|
jedem <acronym>PDF</acronym> Viewer bereit gestellt werden: Courier (4 Stile), Helvetica
|
|
|
(4 Stile), Times (4 Stile), Symbol und Zapf Dingbats.
|
|
|
</para>
|
|
|
+
|
|
|
<para>
|
|
|
Die <classname>Zend_Pdf</classname> Komponente unterstützt derzeit diese 14
|
|
|
<acronym>PDF</acronym> Standardzeichensätze sowie deine eigenen TrueType Zeichensätze.
|
|
|
@@ -298,8 +323,10 @@ public function setFont(Zend_Pdf_Resource_Font $font, $fontSize);
|
|
|
<acronym>PDF</acronym> Standardzeichensätze oder
|
|
|
<methodname>Zend_Pdf_Font::fontWithPath($filePath)</methodname> für eigene Zeichensätze.
|
|
|
</para>
|
|
|
+
|
|
|
<example id="zend.pdf.drawing.using-fonts.example-1">
|
|
|
<title>Einen Standardzeichensatz erstellen</title>
|
|
|
+
|
|
|
<programlisting language="php"><![CDATA[
|
|
|
...
|
|
|
// Erstelle einen neuen Zeichensatz
|
|
|
@@ -310,54 +337,29 @@ $pdfPage->setFont($font, 36);
|
|
|
...
|
|
|
]]></programlisting>
|
|
|
</example>
|
|
|
+
|
|
|
<para>
|
|
|
Die Zeichensatzkonstanten für die 14 <acronym>PDF</acronym> Standardzeichensätze sind
|
|
|
innerhalb der <classname>Zend_Pdf_Font</classname> Klasse definiert:
|
|
|
- <itemizedlist>
|
|
|
- <listitem>
|
|
|
- <para>Zend_Pdf_Font::FONT_COURIER</para>
|
|
|
- </listitem>
|
|
|
- <listitem>
|
|
|
- <para>Zend_Pdf_Font::FONT_COURIER_BOLD</para>
|
|
|
- </listitem>
|
|
|
- <listitem>
|
|
|
- <para>Zend_Pdf_Font::FONT_COURIER_ITALIC</para>
|
|
|
- </listitem>
|
|
|
- <listitem>
|
|
|
- <para>Zend_Pdf_Font::FONT_COURIER_BOLDITALIC</para>
|
|
|
- </listitem>
|
|
|
- <listitem>
|
|
|
- <para>Zend_Pdf_Font::FONT_TIMES_ROMAN</para>
|
|
|
- </listitem>
|
|
|
- <listitem>
|
|
|
- <para>Zend_Pdf_Font::FONT_TIMES_BOLD</para>
|
|
|
- </listitem>
|
|
|
- <listitem>
|
|
|
- <para>Zend_Pdf_Font::FONT_TIMES_ITALIC</para>
|
|
|
- </listitem>
|
|
|
- <listitem>
|
|
|
- <para>Zend_Pdf_Font::FONT_TIMES_BOLDITALIC</para>
|
|
|
- </listitem>
|
|
|
- <listitem>
|
|
|
- <para>Zend_Pdf_Font::FONT_HELVETICA</para>
|
|
|
- </listitem>
|
|
|
- <listitem>
|
|
|
- <para>Zend_Pdf_Font::FONT_HELVETICA_BOLD</para>
|
|
|
- </listitem>
|
|
|
- <listitem>
|
|
|
- <para>Zend_Pdf_Font::FONT_HELVETICA_ITALIC</para>
|
|
|
- </listitem>
|
|
|
- <listitem>
|
|
|
- <para>Zend_Pdf_Font::FONT_HELVETICA_BOLDITALIC</para>
|
|
|
- </listitem>
|
|
|
- <listitem>
|
|
|
- <para>Zend_Pdf_Font::FONT_SYMBOL</para>
|
|
|
- </listitem>
|
|
|
- <listitem>
|
|
|
- <para>Zend_Pdf_Font::FONT_ZAPFDINGBATS</para>
|
|
|
- </listitem>
|
|
|
- </itemizedlist>
|
|
|
+
|
|
|
+ <itemizedlist>
|
|
|
+ <listitem><para>Zend_Pdf_Font::FONT_COURIER</para></listitem>
|
|
|
+ <listitem><para>Zend_Pdf_Font::FONT_COURIER_BOLD</para></listitem>
|
|
|
+ <listitem><para>Zend_Pdf_Font::FONT_COURIER_ITALIC</para></listitem>
|
|
|
+ <listitem><para>Zend_Pdf_Font::FONT_COURIER_BOLDITALIC</para></listitem>
|
|
|
+ <listitem><para>Zend_Pdf_Font::FONT_TIMES_ROMAN</para></listitem>
|
|
|
+ <listitem><para>Zend_Pdf_Font::FONT_TIMES_BOLD</para></listitem>
|
|
|
+ <listitem><para>Zend_Pdf_Font::FONT_TIMES_ITALIC</para></listitem>
|
|
|
+ <listitem><para>Zend_Pdf_Font::FONT_TIMES_BOLDITALIC</para></listitem>
|
|
|
+ <listitem><para>Zend_Pdf_Font::FONT_HELVETICA</para></listitem>
|
|
|
+ <listitem><para>Zend_Pdf_Font::FONT_HELVETICA_BOLD</para></listitem>
|
|
|
+ <listitem><para>Zend_Pdf_Font::FONT_HELVETICA_ITALIC</para></listitem>
|
|
|
+ <listitem><para>Zend_Pdf_Font::FONT_HELVETICA_BOLDITALIC</para></listitem>
|
|
|
+ <listitem><para>Zend_Pdf_Font::FONT_SYMBOL</para></listitem>
|
|
|
+ <listitem><para>Zend_Pdf_Font::FONT_ZAPFDINGBATS</para></listitem>
|
|
|
+ </itemizedlist>
|
|
|
</para>
|
|
|
+
|
|
|
<para>
|
|
|
Du kannst außerdem jeden individuellen TrueType Zeichensatz (welcher normalerweise eine
|
|
|
'.ttf' Erweiterung hat) oder einen OpenType Zeichensatz ('.otf' Erweiterung) verwenden,
|
|
|
@@ -365,14 +367,17 @@ $pdfPage->setFont($font, 36);
|
|
|
Versionen geplant, sind Mac OS X .dfont Dateien und Microsoft TrueType Collection
|
|
|
('.ttc' Erweiterung) Dateien.
|
|
|
</para>
|
|
|
+
|
|
|
<para>
|
|
|
Um einen TrueType Zeichensatz zu verwenden, mußt du den kompletten Verzeichnispfad zum
|
|
|
Zeichensatzprogramm angeben. Wenn der Zeichensatz aus welchem Grund auch immer nicht
|
|
|
gelesen werden kann oder wenn es kein TrueType Zeichensatz ist, wird the Fabrikmethode
|
|
|
eine Ausnahme werfen:
|
|
|
</para>
|
|
|
+
|
|
|
<example id="zend.pdf.drawing.using-fonts.example-2">
|
|
|
<title>Einen TrueType Zeichensatz erstellen</title>
|
|
|
+
|
|
|
<programlisting language="php"><![CDATA[
|
|
|
...
|
|
|
// Erstelle einen neuen Zeichensatz
|
|
|
@@ -383,6 +388,7 @@ $pdfPage->setFont($goodDogCoolFont, 36);
|
|
|
...
|
|
|
]]></programlisting>
|
|
|
</example>
|
|
|
+
|
|
|
<para>
|
|
|
Standardmäßig werden eigene Zeichensätze in das erstellte <acronym>PDF</acronym>
|
|
|
Dokument eingebettet. Dies ermöglicht den Empfänger, die Seite wie beabsichtigt
|
|
|
@@ -391,10 +397,12 @@ $pdfPage->setFont($goodDogCoolFont, 36);
|
|
|
Zeichensatzprogramm nicht eingebettet wird, indem du eine 'nicht einbetten' Option an
|
|
|
die Fabrikmethode übergibst:
|
|
|
</para>
|
|
|
+
|
|
|
<example id="zend.pdf.drawing.using-fonts.example-3">
|
|
|
<title>
|
|
|
Erstelle einen TrueType Zeichensatz, aber bette ihn nicht in das PDF Dokument ein
|
|
|
</title>
|
|
|
+
|
|
|
<programlisting language="php"><![CDATA[
|
|
|
...
|
|
|
// Erstelle einen neuen Zeichensatz
|
|
|
@@ -406,6 +414,7 @@ $pdfPage->setFont($goodDogCoolFont, 36);
|
|
|
...
|
|
|
]]></programlisting>
|
|
|
</example>
|
|
|
+
|
|
|
<para>
|
|
|
Wenn das Zeichensatzprogramm nicht eingebettet wurde, aber den Empfänger der
|
|
|
<acronym>PDF</acronym> Datei diesen Zeichensatz auf seinem System installiert hat, wird
|
|
|
@@ -413,21 +422,25 @@ $pdfPage->setFont($goodDogCoolFont, 36);
|
|
|
installiert haben, wird der <acronym>PDF</acronym> Viewer sich bemühen, um einen Ersatz
|
|
|
herzustellen.
|
|
|
</para>
|
|
|
+
|
|
|
<para>
|
|
|
Einige Zeichensätze haben sehr spezielle Lizensierungsregeln, die das Einbetten in
|
|
|
<acronym>PDF</acronym> Dokumente verhindern. Damit du dadurch nicht überrascht wirst,
|
|
|
wenn du versuchst einen Zeichensatz einzubetten, der nicht eingebettet werden kann,
|
|
|
wird die Fabrikmethode eine Ausnahme werfen.
|
|
|
</para>
|
|
|
+
|
|
|
<para>
|
|
|
Du kannst diese Zeichensätze weiterhin verwenden, aber du mußt entweder die 'nicht
|
|
|
einbetten' Option übergeben wie oben beschrieben oder du kannst einfach die Ausnahme
|
|
|
unterdrücken:
|
|
|
</para>
|
|
|
+
|
|
|
<example id="zend.pdf.drawing.using-fonts.example-4">
|
|
|
<title>
|
|
|
Werfe keine Ausnahme für Zeichensätze, die nicht eingebettet werden können
|
|
|
</title>
|
|
|
+
|
|
|
<programlisting language="php"><![CDATA[
|
|
|
...
|
|
|
$font = Zend_Pdf_Font::fontWithPath(
|
|
|
@@ -437,11 +450,13 @@ $font = Zend_Pdf_Font::fontWithPath(
|
|
|
...
|
|
|
]]></programlisting>
|
|
|
</example>
|
|
|
+
|
|
|
<para>
|
|
|
Diese Unterdrückungstechnik wird bevorzugt, wenn du einen Endnutzer erlaubst, seine
|
|
|
eigenen Zeichensätze auszuwählen. Zeichensätze, die in ein <acronym>PDF</acronym>
|
|
|
Dokument eingebettet werden können, werden eingebettet, andere nicht.
|
|
|
</para>
|
|
|
+
|
|
|
<para>
|
|
|
Zeichensatzprogramme können sehr groß sein, manche erreichen Dutzende von Megabytes.
|
|
|
Standardmäßig werden alle eingebetteten Zeichensätze unter Verwendung des Flate
|
|
|
@@ -449,8 +464,10 @@ $font = Zend_Pdf_Font::fontWithPath(
|
|
|
kann. Wenn du aus welchem Grund auch immer nicht möchtest, dass das Zeichensatzprogramm
|
|
|
kompimiert wird, kannst du dies mit einer Option abschalten:
|
|
|
</para>
|
|
|
+
|
|
|
<example id="zend.pdf.drawing.using-fonts.example-5">
|
|
|
<title>Komprimiere einen eingebetten Zeichensatz nicht</title>
|
|
|
+
|
|
|
<programlisting language="php"><![CDATA[
|
|
|
...
|
|
|
$font = Zend_Pdf_Font::fontWithPath('/path/to/someReallyBigFont.ttf',
|
|
|
@@ -458,12 +475,15 @@ $font = Zend_Pdf_Font::fontWithPath('/path/to/someReallyBigFont.ttf',
|
|
|
...
|
|
|
]]></programlisting>
|
|
|
</example>
|
|
|
+
|
|
|
<para>
|
|
|
Zuguterletzt, kannst du die Einbettungsoptionen mit Hilfe des OR Operators kombinieren,
|
|
|
wenn notwendig:
|
|
|
</para>
|
|
|
+
|
|
|
<example id="zend.pdf.drawing.using-fonts.example-6">
|
|
|
<title>Kombiniere die Zeichensatz Einbettungsoptionen</title>
|
|
|
+
|
|
|
<programlisting language="php"><![CDATA[
|
|
|
...
|
|
|
$font = Zend_Pdf_Font::fontWithPath(
|
|
|
@@ -473,11 +493,11 @@ $font = Zend_Pdf_Font::fontWithPath(
|
|
|
...
|
|
|
]]></programlisting>
|
|
|
</example>
|
|
|
-
|
|
|
</sect2>
|
|
|
|
|
|
<sect2 id="zend.pdf.drawing.standard-fonts-limitations">
|
|
|
<title>Limits der Standard PDF Schriften</title>
|
|
|
+
|
|
|
<para>
|
|
|
Die Standard <acronym>PDF</acronym> Schriften verwendetn intern verschiedene Single-Byte
|
|
|
Encodings (siehe <ulink
|
|
|
@@ -486,17 +506,21 @@ $font = Zend_Pdf_Font::fontWithPath(
|
|
|
generell gleich wie beim Latin1 Zeichensatz (ausser den Symbol und ZapfDingbats
|
|
|
Schriften).
|
|
|
</para>
|
|
|
+
|
|
|
<para>
|
|
|
<classname>Zend_Pdf</classname> verwendet CP1252 (WinLatin1) für das Zeichnen von Text
|
|
|
mit Standardschriften.
|
|
|
</para>
|
|
|
+
|
|
|
<para>
|
|
|
Text kann trotzdem in jedem anderen Encoding angegeben werden, welches spezifiziert
|
|
|
werden muß wenn es sich vom aktuellen Gebietsschema unterscheidet. Nur WinLatin1 Zeichen
|
|
|
werden aktuell gezeichnet.
|
|
|
</para>
|
|
|
+
|
|
|
<example id="zend.pdf.drawing.using-fonts.example-7">
|
|
|
<title>Kombinieren mit in Schriften enthaltenen Optionen</title>
|
|
|
+
|
|
|
<programlisting language="php"><![CDATA[
|
|
|
...
|
|
|
$font = Zend_Pdf_Font::fontWithName(Zend_Pdf_Font::FONT_COURIER);
|
|
|
@@ -510,6 +534,7 @@ $pdfPage->setFont($font, 36)
|
|
|
|
|
|
<sect2 id="zend.pdf.drawing.extracting-fonts">
|
|
|
<title>Schriften extrahieren</title>
|
|
|
+
|
|
|
<para>
|
|
|
Das <classname>Zend_Pdf</classname> Modul bietet die Möglichkeit Schriften von geladenen
|
|
|
Dokumenten zu extrahieren.
|
|
|
@@ -526,8 +551,10 @@ $pdfPage->setFont($font, 36)
|
|
|
bieten spezielle Methoden um alle genannten Schriften innerhalb eines Dokuments oder
|
|
|
einer Seite zu extrahieren:
|
|
|
</para>
|
|
|
+
|
|
|
<example id="zend.pdf.drawing.extracting-fonts.example-1">
|
|
|
<title>Schriften von einem geladenen Dokument extrahieren</title>
|
|
|
+
|
|
|
<programlisting language="php"><![CDATA[
|
|
|
...
|
|
|
$pdf = Zend_Pdf::load($documentPath);
|
|
|
@@ -556,11 +583,13 @@ $firstPageFonts = $firstPage->extractFonts();
|
|
|
...
|
|
|
]]></programlisting>
|
|
|
</example>
|
|
|
+
|
|
|
<example id="zend.pdf.drawing.extracting-fonts.example-2">
|
|
|
<title>
|
|
|
Eine Schrift von einem geladenen Dokument extrahieren durch die Angabe des
|
|
|
Schriftnamens
|
|
|
</title>
|
|
|
+
|
|
|
<programlisting language="php"><![CDATA[
|
|
|
...
|
|
|
$pdf = new Zend_Pdf();
|
|
|
@@ -598,16 +627,23 @@ $pdf->save($docPath, true /* aufsteigender Update Modus */);
|
|
|
<para>
|
|
|
Extrahierte Schriften können statt jeder anderen Schrift mit den folgenden
|
|
|
Einschränkungen verwendet werden:
|
|
|
+
|
|
|
<itemizedlist>
|
|
|
- <listitem><para>Eine extrahierte Schrift kann nur im Kontext des Dokuments verwendet
|
|
|
- werden von dem es extrahiert wurde.</para></listitem>
|
|
|
+ <listitem>
|
|
|
+ <para>
|
|
|
+ Eine extrahierte Schrift kann nur im Kontext des Dokuments verwendet
|
|
|
+ werden von dem es extrahiert wurde.
|
|
|
+ </para>
|
|
|
+ </listitem>
|
|
|
+
|
|
|
<listitem>
|
|
|
<para>
|
|
|
Ein möglicherweise eingebettetes Schriftprogramm wird aktuell nicht
|
|
|
extrahiert. Deswegen können extrahierte Schriften keine richtigen
|
|
|
Schriftmaße bieten und die originale Schrift wird für die Berechnung der
|
|
|
Breite verwendet:
|
|
|
- <programlisting language="php"><![CDATA[
|
|
|
+
|
|
|
+ <programlisting language="php"><![CDATA[
|
|
|
...
|
|
|
$font = $pdf->extractFont($fontName);
|
|
|
$originalFont = Zend_Pdf_Font::fontWithPath($fontPath);
|
|
|
@@ -634,10 +670,12 @@ for ($charIndex = 0; $charIndex < strlen($text); $charIndex++) {
|
|
|
|
|
|
<sect2 id="zend.pdf.drawing.image-drawing">
|
|
|
<title>Zeichnen von Grafiken</title>
|
|
|
+
|
|
|
<para>
|
|
|
Die <classname>Zend_Pdf_Page</classname> Klasse stellt die drawImage() Methode für das
|
|
|
Zeichnen von Grafiken bereit:
|
|
|
</para>
|
|
|
+
|
|
|
<programlisting language="php"><![CDATA[
|
|
|
/**
|
|
|
* Zeichne eine Grafik an der angegebenen Position der Seite.
|
|
|
@@ -651,13 +689,16 @@ for ($charIndex = 0; $charIndex < strlen($text); $charIndex++) {
|
|
|
*/
|
|
|
public function drawImage(Zend_Pdf_Ressource_Image $image, $x1, $y1, $x2, $y2);
|
|
|
]]></programlisting>
|
|
|
+
|
|
|
<para>
|
|
|
Grafikobjekte sollten mit der Methode
|
|
|
<methodname>Zend_Pdf_Image::imageWithPath($filePath)</methodname> erzeugt werden. (Es
|
|
|
werden zur Zeit JPG, PNG und TIFF Grafiken unterstützt):
|
|
|
</para>
|
|
|
+
|
|
|
<example id="zend.pdf.drawing.image-drawing.example-1">
|
|
|
<title>Zeichnen von Grafiken</title>
|
|
|
+
|
|
|
<programlisting language="php"><![CDATA[
|
|
|
...
|
|
|
// Lade die Grafik
|
|
|
@@ -674,20 +715,24 @@ $pdfPage->drawImage($image, 100, 100, 400, 300);
|
|
|
<emphasis>Wichtig! PNG Support setzt voraus, dass die ZLIB Erweiterung konfiguriert
|
|
|
wurde, um mit Grafiken mit Alphakanal zu arbeiten.</emphasis>
|
|
|
</para>
|
|
|
+
|
|
|
<para>
|
|
|
Wende dich an die <acronym>PHP</acronym> Dokumentation für weitere Informationen (<ulink
|
|
|
url="http://www.php.net/manual/de/ref.image.php">http://www.php.net/manual/de/ref.image.php</ulink>).
|
|
|
- (<ulink url="http://www.php.net/manual/de/ref.zlib.php">http://www.php.net/manual/de/ref.zlib.php</ulink>).
|
|
|
+ (<ulink
|
|
|
+ url="http://www.php.net/manual/de/ref.zlib.php">http://www.php.net/manual/de/ref.zlib.php</ulink>).
|
|
|
</para>
|
|
|
</sect2>
|
|
|
|
|
|
<sect2 id="zend.pdf.drawing.line-drawing-style">
|
|
|
<title>Stil der Strichzeichnungen</title>
|
|
|
+
|
|
|
<para>
|
|
|
Der Stil der Strichzeichnungen wurd durch die Linienbreite, die Linienfarbe und das
|
|
|
Strichmuster definiert. Alle diese Parameter können an die Klassenmethoden von
|
|
|
<classname>Zend_Pdf_Page</classname> übergeben werden:
|
|
|
</para>
|
|
|
+
|
|
|
<programlisting language="php"><![CDATA[
|
|
|
/** Setze die Linienfarbe. */
|
|
|
public function setLineColor(Zend_Pdf_Color $color);
|
|
|
@@ -712,6 +757,7 @@ public function setLineDashingPattern($pattern, $phase = 0);
|
|
|
|
|
|
<sect2 id="zend.pdf.drawing.fill-style">
|
|
|
<title>Füllstil</title>
|
|
|
+
|
|
|
<para>
|
|
|
Die Methoden <methodname>Zend_Pdf_Page::drawRectangle()</methodname>,
|
|
|
<methodname>Zend_Pdf_Page::drawPolygon()</methodname>,
|
|
|
@@ -721,12 +767,9 @@ public function setLineDashingPattern($pattern, $phase = 0);
|
|
|
</para>
|
|
|
|
|
|
<itemizedlist>
|
|
|
- <listitem>
|
|
|
- <para>Zend_Pdf_Page::SHAPE_DRAW_STROKE - strichele die Form</para>
|
|
|
- </listitem>
|
|
|
- <listitem>
|
|
|
- <para>Zend_Pdf_Page::SHAPE_DRAW_FILL - fülle die Form</para>
|
|
|
- </listitem>
|
|
|
+ <listitem><para>Zend_Pdf_Page::SHAPE_DRAW_STROKE - strichele die Form</para></listitem>
|
|
|
+ <listitem><para>Zend_Pdf_Page::SHAPE_DRAW_FILL - fülle die Form</para></listitem>
|
|
|
+
|
|
|
<listitem>
|
|
|
<para>Zend_Pdf_Page::SHAPE_DRAW_FILL_AND_STROKE - fülle und strichele die Form
|
|
|
(Standardverhalten)</para>
|
|
|
@@ -737,84 +780,91 @@ public function setLineDashingPattern($pattern, $phase = 0);
|
|
|
Die <methodname>Zend_Pdf_Page::drawPolygon()</methodname> Methode akzeptiert
|
|
|
<varname>$fillMethod</varname> als zusätzlichen Parameter:
|
|
|
</para>
|
|
|
+
|
|
|
<itemizedlist>
|
|
|
<listitem>
|
|
|
<para>Zend_Pdf_Page::FILL_METHOD_NON_ZERO_WINDING (Standardverhalten)</para>
|
|
|
+
|
|
|
<para>
|
|
|
<citetitle>Die PDF Referenz</citetitle> beschreibt diese Regel wie folgt:
|
|
|
+
|
|
|
<blockquote>
|
|
|
- <para>
|
|
|
- Die Regel der nicht-Null Fensternummer erkennt ob ein gegebener Punkt in
|
|
|
- einem Pfad liegt, indem konzeptuell ein Strahl von diesem Punkt in die
|
|
|
- Unendlichkeit in jede Richtung gezeichnet wird und dann die Plätze
|
|
|
- betrachtet werden an denen der Pfad den Strahl kreuzt. Beginnend mit der
|
|
|
- Anzahl 0, fügt die Regel jedesmal 1 hinzu wenn ein Pfadsegment den Strahl
|
|
|
- von links nach rechts kreuzt, und substrahiert jedesmal 1 wenn ein Segment
|
|
|
- von rechts nach links kreuzt. Wenn nach dem Zählen aller Kreuzungen das
|
|
|
- Ergebnis ß ist, dann ist der Punkt ausserhalb des Pfades; andernfalls ist
|
|
|
- er innerhalb.
|
|
|
-
|
|
|
- Beachte: Die gerade beschriebene Methode spezifiziert nicht was zu tun ist
|
|
|
- wenn ein Pfadsegment mit dem gewählten Strahl übereinstimmt oder ihn
|
|
|
- tangiert. Da die Richtung des Strahls beliebig ist wählt die Regel einen
|
|
|
- Strahl der solche problematischen Schnittpunkte nicht verursacht. Für
|
|
|
- einfache konvexe Pfade, definierte die Regel der nicht-Null Fensternummer
|
|
|
- das Innen und Aussen wie man es intuitiv erwarten würde. Die interessanteren
|
|
|
- Fälle sind jene die komplexe oder selbst-schneidenden Pfade wie jene in
|
|
|
- Figur 4.10 gezeigt (in der <acronym>PDF</acronym> Referenz).
|
|
|
-
|
|
|
- Für einen Pfad der aus einem fünf-punktigen Stern besteht, und mit fünf
|
|
|
- verbundenen geraden Linien besteht die sich gegenseitig schneiden, nimmt die
|
|
|
- Regel an dass das Innen die komplette Fläche ist, welche vom Stern
|
|
|
- eingeschlossen wird, inklusive dem Pentagon in der Mitte. Für einen Pfad der
|
|
|
- aus zwei konzentrischen Kreisen besteht, wird angenommen das die Fläche
|
|
|
- welche von beiden Kreisen eingeschlossen wird innen ist, wobei beide in der
|
|
|
- selben Richtung gezeichnet sein müssen. Wenn die Kreise in entgegengesetzten
|
|
|
- Richtungen gezeichnet werden, wird nur die "Donut" Form zwischen Ihnen als
|
|
|
- Innen angenommen, entsprechend der Regel; das "Donut Loch" ist Aussen.
|
|
|
- </para>
|
|
|
+ <para>
|
|
|
+ Die Regel der nicht-Null Fensternummer erkennt ob ein gegebener Punkt in
|
|
|
+ einem Pfad liegt, indem konzeptuell ein Strahl von diesem Punkt in die
|
|
|
+ Unendlichkeit in jede Richtung gezeichnet wird und dann die Plätze
|
|
|
+ betrachtet werden an denen der Pfad den Strahl kreuzt. Beginnend mit der
|
|
|
+ Anzahl 0, fügt die Regel jedesmal 1 hinzu wenn ein Pfadsegment den
|
|
|
+ Strahl von links nach rechts kreuzt, und substrahiert jedesmal 1 wenn
|
|
|
+ ein Segment von rechts nach links kreuzt. Wenn nach dem Zählen aller
|
|
|
+ Kreuzungen das Ergebnis ß ist, dann ist der Punkt ausserhalb des Pfades;
|
|
|
+ andernfalls ist er innerhalb. Beachte: Die gerade beschriebene Methode
|
|
|
+ spezifiziert nicht was zu tun ist wenn ein Pfadsegment mit dem gewählten
|
|
|
+ Strahl übereinstimmt oder ihn tangiert. Da die Richtung des Strahls
|
|
|
+ beliebig ist wählt die Regel einen Strahl der solche problematischen
|
|
|
+ Schnittpunkte nicht verursacht. Für einfache konvexe Pfade, definierte
|
|
|
+ die Regel der nicht-Null Fensternummer das Innen und Aussen wie man es
|
|
|
+ intuitiv erwarten würde. Die interessanteren Fälle sind jene die
|
|
|
+ komplexe oder selbst-schneidenden Pfade wie jene in Figur 4.10 gezeigt
|
|
|
+ (in der <acronym>PDF</acronym> Referenz). Für einen Pfad der aus einem
|
|
|
+ fünf-punktigen Stern besteht, und mit fünf verbundenen geraden Linien
|
|
|
+ besteht die sich gegenseitig schneiden, nimmt die Regel an dass das
|
|
|
+ Innen die komplette Fläche ist, welche vom Stern eingeschlossen wird,
|
|
|
+ inklusive dem Pentagon in der Mitte. Für einen Pfad der aus zwei
|
|
|
+ konzentrischen Kreisen besteht, wird angenommen das die Fläche welche
|
|
|
+ von beiden Kreisen eingeschlossen wird innen ist, wobei beide in der
|
|
|
+ selben Richtung gezeichnet sein müssen. Wenn die Kreise in
|
|
|
+ entgegengesetzten Richtungen gezeichnet werden, wird nur die "Donut"
|
|
|
+ Form zwischen Ihnen als Innen angenommen, entsprechend der Regel; das
|
|
|
+ "Donut Loch" ist Aussen.
|
|
|
+ </para>
|
|
|
</blockquote>
|
|
|
</para>
|
|
|
</listitem>
|
|
|
+
|
|
|
<listitem>
|
|
|
<para>Zend_Pdf_Page::FILL_METHOD_EVEN_ODD</para>
|
|
|
+
|
|
|
<para>
|
|
|
<citetitle>Die PDF Referenz</citetitle> beschreibt diese Regel wie folgt:
|
|
|
+
|
|
|
<blockquote>
|
|
|
- <para>
|
|
|
- Eine alternative zur Regel der nicht-Null Fensternummer ist die
|
|
|
- gerade-ungerade Regel. Diese Regel erkennt die "Innenhaftigkeit" eines
|
|
|
- Punktes indem ein Strahl von diesem Punkt in jede Richtung gezeichnet wird
|
|
|
- und einfach die Anzahl der Pfadsegmente gezählt wird, welche den Strahl
|
|
|
- kreuzen, unabhängig von der Richtung. Wenn die Anzahl ungerade ist, dann ist
|
|
|
- der Punkt innerhalb; ist Sie gerade ist der Punkt ausserhalb. Das verursacht
|
|
|
- die gleichen Resultate wie die Regel der nicht-Null Fensternummer für Pfade
|
|
|
- mit einfachen Formen, produziert aber unterschiedliche Resultate für
|
|
|
- komplexere Formen.
|
|
|
-
|
|
|
- Figur 4.11 (in der <acronym>PDF</acronym> Referenz) zeigt die Effekte wenn
|
|
|
- die gerade-ungerade Regel auf komplexe Pfade angewendet wird. Für den
|
|
|
- Fünf-punktigen Stern nimmt die Regel an dass die Triangularpunkte innerhalb
|
|
|
- des Pfades liegen, aber nicht das Pentagon im Zentrum. Für die zwei
|
|
|
- konzentrischen Kreise, wird nur von der "Donut" Form angenommen das Sie
|
|
|
- innerhalb liegt, unabhängig von der Richtung in welcher die Kreise
|
|
|
- gezeichnet werden.
|
|
|
- </para>
|
|
|
- </blockquote>
|
|
|
- </para>
|
|
|
+ <para>
|
|
|
+ Eine alternative zur Regel der nicht-Null Fensternummer ist die
|
|
|
+ gerade-ungerade Regel. Diese Regel erkennt die "Innenhaftigkeit" eines
|
|
|
+ Punktes indem ein Strahl von diesem Punkt in jede Richtung gezeichnet
|
|
|
+ wird und einfach die Anzahl der Pfadsegmente gezählt wird, welche den
|
|
|
+ Strahl kreuzen, unabhängig von der Richtung. Wenn die Anzahl ungerade
|
|
|
+ ist, dann ist der Punkt innerhalb; ist Sie gerade ist der Punkt
|
|
|
+ ausserhalb. Das verursacht die gleichen Resultate wie die Regel der
|
|
|
+ nicht-Null Fensternummer für Pfade mit einfachen Formen, produziert aber
|
|
|
+ unterschiedliche Resultate für komplexere Formen. Figur 4.11 (in der
|
|
|
+ <acronym>PDF</acronym> Referenz) zeigt die Effekte wenn die
|
|
|
+ gerade-ungerade Regel auf komplexe Pfade angewendet wird. Für den
|
|
|
+ Fünf-punktigen Stern nimmt die Regel an dass die Triangularpunkte
|
|
|
+ innerhalb des Pfades liegen, aber nicht das Pentagon im Zentrum. Für die
|
|
|
+ zwei konzentrischen Kreise, wird nur von der "Donut" Form angenommen das
|
|
|
+ Sie innerhalb liegt, unabhängig von der Richtung in welcher die Kreise
|
|
|
+ gezeichnet werden.
|
|
|
+ </para>
|
|
|
+ </blockquote>
|
|
|
+ </para>
|
|
|
</listitem>
|
|
|
</itemizedlist>
|
|
|
</sect2>
|
|
|
|
|
|
<sect2 id="zend.pdf.drawing.linear-transformations">
|
|
|
<title>Lineare Transformationen</title>
|
|
|
+
|
|
|
<sect3 id="zend.pdf.drawing.linear-transformations.rotations">
|
|
|
<title>Drehungen</title>
|
|
|
+
|
|
|
<para>
|
|
|
Bevor eine Zeichenoperation angewendet wird, können <acronym>PDF</acronym> Seiten
|
|
|
gedreht werden. Dies kann mit Hilfe der
|
|
|
<methodname>Zend_Pdf_Page::rotate()</methodname> Methode durchgeführt werden:
|
|
|
</para>
|
|
|
+
|
|
|
<programlisting language="php"><![CDATA[
|
|
|
/**
|
|
|
* Drehe die Seite
|
|
|
@@ -830,10 +880,12 @@ public function rotate($x, $y, $angle);
|
|
|
|
|
|
<sect3 id="zend.pdf.drawing.linear-transformations.scale">
|
|
|
<title>Beginnend mit ZF 1.8, Skalierung</title>
|
|
|
+
|
|
|
<para>
|
|
|
Skalenänderungen werden durch die <methodname>Zend_Pdf_Page::scale()</methodname>
|
|
|
Methode angeboten:
|
|
|
</para>
|
|
|
+
|
|
|
<programlisting language="php"><![CDATA[
|
|
|
/**
|
|
|
* Koordinationssystem für die Skala
|
|
|
@@ -848,10 +900,12 @@ public function scale($xScale, $yScale);
|
|
|
|
|
|
<sect3 id="zend.pdf.drawing.linear-transformations.translate">
|
|
|
<title>Beginnend mit ZF 1.8, Bewegungen</title>
|
|
|
+
|
|
|
<para>
|
|
|
Das bewegen des Koordinationssystem wird von der
|
|
|
<methodname>Zend_Pdf_Page::translate()</methodname> Methode durchgeführt:
|
|
|
</para>
|
|
|
+
|
|
|
<programlisting language="php"><![CDATA[
|
|
|
/**
|
|
|
* Bewegen des Koordinationssystems
|
|
|
@@ -866,10 +920,12 @@ public function translate($xShift, $yShift);
|
|
|
|
|
|
<sect3 id="zend.pdf.drawing.linear-transformations.skew">
|
|
|
<title>Beginnend mit ZF 1.8, Drehungen</title>
|
|
|
+
|
|
|
<para>
|
|
|
Das Drehen der Seite kann durch Verwendung der
|
|
|
<methodname>Zend_Pdf_Page::skew()</methodname> Methode durchgeführt werden:
|
|
|
</para>
|
|
|
+
|
|
|
<programlisting language="php"><![CDATA[
|
|
|
/**
|
|
|
* Bewegen des Koordinationssystems
|
|
|
@@ -887,16 +943,19 @@ public function skew($x, $y, $xAngle, $yAngle);
|
|
|
|
|
|
<sect2 id="zend.pdf.drawing.save-restore">
|
|
|
<title>Speichern/Wiederherstellen des Grafikzustand</title>
|
|
|
+
|
|
|
<para>
|
|
|
Jederzeit kann der Grafikzustand der Seite (aktueller Zeichensatz, Schriftgröße,
|
|
|
Linienfarbe, Füllfarbe, Linienstil, Seitendrehung, Zeichenbereich) gespeichert und
|
|
|
wiederhergestellt werden. Speicheroperationen legen die Daten auf einen Grafikzustand
|
|
|
Stapel, Wiederherstelloperationen holen Sie daher zurück.
|
|
|
</para>
|
|
|
+
|
|
|
<para>
|
|
|
In der <classname>Zend_Pdf_Page</classname> Klasse gibt es für diese Operationen zwei
|
|
|
Methoden:
|
|
|
</para>
|
|
|
+
|
|
|
<programlisting language="php"><![CDATA[
|
|
|
/**
|
|
|
* Speichere den Grafikzustand dieser Seite.
|
|
|
@@ -920,16 +979,19 @@ public function restoreGS();
|
|
|
|
|
|
<sect2 id="zend.pdf.drawing.clipping">
|
|
|
<title>Zeichenbereich</title>
|
|
|
+
|
|
|
<para>
|
|
|
<acronym>PDF</acronym> und die <classname>Zend_Pdf</classname> Komponente unterstützen
|
|
|
die Begrenzung des Zeichenbereichs. Der aktuelle Zeichenbereich begrenzt den
|
|
|
Seitenbereich, der von Zeichenoperationen beeinflusst werden kann. Zu Beginn ist dies
|
|
|
die gesamte Seite.
|
|
|
</para>
|
|
|
+
|
|
|
<para>
|
|
|
Die <classname>Zend_Pdf_Page</classname> Klasse stellt einen Satz von Methoden für die
|
|
|
Begrenzung bereit.
|
|
|
</para>
|
|
|
+
|
|
|
<programlisting language="php"><![CDATA[
|
|
|
/**
|
|
|
* Durchschneide den aktuellen Zeichenbereich mit einem Rechteck.
|
|
|
@@ -942,6 +1004,7 @@ public function restoreGS();
|
|
|
*/
|
|
|
public function clipRectangle($x1, $y1, $x2, $y2);
|
|
|
]]></programlisting>
|
|
|
+
|
|
|
<programlisting language="php"><![CDATA[
|
|
|
/**
|
|
|
* Durchschneide den aktuellen Zeichenbereich mit einem Polygon.
|
|
|
@@ -956,6 +1019,7 @@ public function clipPolygon($x,
|
|
|
$fillMethod =
|
|
|
Zend_Pdf_Page::FILL_METHOD_NON_ZERO_WINDING);
|
|
|
]]></programlisting>
|
|
|
+
|
|
|
<programlisting language="php"><![CDATA[
|
|
|
/**
|
|
|
* Durchschneide den aktuellen Zeichenbereich mit einem Kreis.
|
|
|
@@ -973,6 +1037,7 @@ public function clipCircle($x,
|
|
|
$startAngle = null,
|
|
|
$endAngle = null);
|
|
|
]]></programlisting>
|
|
|
+
|
|
|
<programlisting language="php"><![CDATA[
|
|
|
/**
|
|
|
* Durchschneide den aktuellen Zeichenbereich mit einer Ellipse.
|
|
|
@@ -1002,13 +1067,16 @@ public function clipEllipse($x1,
|
|
|
|
|
|
<sect2 id="zend.pdf.drawing.styles">
|
|
|
<title>Stile</title>
|
|
|
+
|
|
|
<para>
|
|
|
Die <classname>Zend_Pdf_Style</classname> Klasse stellt Stilfunktionalitäten bereit.
|
|
|
</para>
|
|
|
+
|
|
|
<para>
|
|
|
Stile können verwendet werden, um mit einer Operation die Parameter für den
|
|
|
Grafikzustand zu speichern und auf eine <acronym>PDF</acronym> Seite anzuwenden:
|
|
|
</para>
|
|
|
+
|
|
|
<programlisting language="php"><![CDATA[
|
|
|
/**
|
|
|
* Lege den Stil für zukünftige Zeichenoperationen auf dieser Seite fest
|
|
|
@@ -1030,6 +1098,7 @@ public function getStyle();
|
|
|
Die <classname>Zend_Pdf_Style</classname> Klasse stellt einen Satz von Methoden bereit,
|
|
|
um verschiedene Parameter des Grafikstadiums zu setzen und zu holen:
|
|
|
</para>
|
|
|
+
|
|
|
<programlisting language="php"><![CDATA[
|
|
|
/**
|
|
|
* Setze die Linienfarbe.
|
|
|
@@ -1039,6 +1108,7 @@ public function getStyle();
|
|
|
*/
|
|
|
public function setLineColor(Zend_Pdf_Color $color);
|
|
|
]]></programlisting>
|
|
|
+
|
|
|
<programlisting language="php"><![CDATA[
|
|
|
/**
|
|
|
* Hole die Linienfarbe.
|
|
|
@@ -1047,6 +1117,7 @@ public function setLineColor(Zend_Pdf_Color $color);
|
|
|
*/
|
|
|
public function getLineColor();
|
|
|
]]></programlisting>
|
|
|
+
|
|
|
<programlisting language="php"><![CDATA[
|
|
|
/**
|
|
|
* Setze die Linienbreite.
|
|
|
@@ -1056,6 +1127,7 @@ public function getLineColor();
|
|
|
*/
|
|
|
public function setLineWidth($width);
|
|
|
]]></programlisting>
|
|
|
+
|
|
|
<programlisting language="php"><![CDATA[
|
|
|
/**
|
|
|
* Hole die Linienbreite.
|
|
|
@@ -1064,6 +1136,7 @@ public function setLineWidth($width);
|
|
|
*/
|
|
|
public function getLineWidth();
|
|
|
]]></programlisting>
|
|
|
+
|
|
|
<programlisting language="php"><![CDATA[
|
|
|
/**
|
|
|
* Setze das Strichmuster
|
|
|
@@ -1074,6 +1147,7 @@ public function getLineWidth();
|
|
|
*/
|
|
|
public function setLineDashingPattern($pattern, $phase = 0);
|
|
|
]]></programlisting>
|
|
|
+
|
|
|
<programlisting language="php"><![CDATA[
|
|
|
/**
|
|
|
* Hole das Strichmuster
|
|
|
@@ -1082,6 +1156,7 @@ public function setLineDashingPattern($pattern, $phase = 0);
|
|
|
*/
|
|
|
public function getLineDashingPattern();
|
|
|
]]></programlisting>
|
|
|
+
|
|
|
<programlisting language="php"><![CDATA[
|
|
|
/**
|
|
|
* Get line dashing phase
|
|
|
@@ -1090,6 +1165,7 @@ public function getLineDashingPattern();
|
|
|
*/
|
|
|
public function getLineDashingPhase();
|
|
|
]]></programlisting>
|
|
|
+
|
|
|
<programlisting language="php"><![CDATA[
|
|
|
/**
|
|
|
* Setze die Füllfarbe
|
|
|
@@ -1099,6 +1175,7 @@ public function getLineDashingPhase();
|
|
|
*/
|
|
|
public function setFillColor(Zend_Pdf_Color $color);
|
|
|
]]></programlisting>
|
|
|
+
|
|
|
<programlisting language="php"><![CDATA[
|
|
|
/**
|
|
|
* Hole die Füllfarbe.
|
|
|
@@ -1107,6 +1184,7 @@ public function setFillColor(Zend_Pdf_Color $color);
|
|
|
*/
|
|
|
public function getFillColor();
|
|
|
]]></programlisting>
|
|
|
+
|
|
|
<programlisting language="php"><![CDATA[
|
|
|
/**
|
|
|
* Ändere den Zeichensatz.
|
|
|
@@ -1117,6 +1195,7 @@ public function getFillColor();
|
|
|
*/
|
|
|
public function setFont(Zend_Pdf_Resource_Font $font, $fontSize);
|
|
|
]]></programlisting>
|
|
|
+
|
|
|
<programlisting language="php"><![CDATA[
|
|
|
/**
|
|
|
* Ändere die Schriftgröße
|
|
|
@@ -1126,6 +1205,7 @@ public function setFont(Zend_Pdf_Resource_Font $font, $fontSize);
|
|
|
*/
|
|
|
public function setFontSize($fontSize);
|
|
|
]]></programlisting>
|
|
|
+
|
|
|
<programlisting language="php"><![CDATA[
|
|
|
/**
|
|
|
* Hole den Zeichensatz.
|
|
|
@@ -1134,6 +1214,7 @@ public function setFontSize($fontSize);
|
|
|
*/
|
|
|
public function getFont();
|
|
|
]]></programlisting>
|
|
|
+
|
|
|
<programlisting language="php"><![CDATA[
|
|
|
/**
|
|
|
* Hole die Schriftgröße
|