X. ClibPDF Funktionen

Einführung

Mit der ClibPDF können Sie PDF-Dokumente mit PHP erstellen . Funktionalität und API der ClibPDF sind der PDFlib ähnlich . Diese Dokumentation sollten Sie zusammen mit dem ClibPDF-Handbuch lesen , weil letzteres diese Bibliothek viel ausführlicher erklärt .

Die Namen vieler Funktionen in der ClibPDF , im PHP-Modul und in der PDFlib Die Namen vieler Funktionen in der ClibPDF , im PHP-Modul und in der PDFlib sind gleich . Außer cpdf_open( ) nehmen alle Funktionen die Bezeichnung des Dokuments als ihren ersten Parameter .

Diese Bezeichnung wird gegenwärtig nicht intern verwendet , weil ClibPDF die gleichzeitige Erzeugung mehrerer PDF-Dokumente nicht unterstützt . Da das Ergebnis nicht vorhersehbar ist , sollten Sie es am besten nicht einmal testen . Die Folgen , die das in einer multi-threaded Umgebung hätte , kann ich nicht abschätzen . Laut ClibPDF-Autor wird sich das in einer der nächsten Versionen ändern ( als dieses geschrieben wurde , war Version 1.10 aktuell ) . Verwenden Sie das pdflib-Modul , wenn Sie diese Funktionalität benötigen .

Eine nette Eigenschaft der ClibPDF ( und der PDFlib ) ist die Möglichkeit , das PDF-Dokument vollständig im Speicher zu erzeugen , ohne temporäre Dateien zu verwenden . Sie bietet auch die Möglichkeit , Koordinaten in einer vordefinierten Längeneinheit zu übergeben . Dies ist eine praktische Fähigkeit , die bei Verwendung der PDFlib aber auch mit pdf_translate( ) simuliert werden kann .

Eine weitere nette Eigenschaft von ClibPDF ist die Tatsache , dass jede Seite jederzeit geändert werden kann , selbst wenn schon eine neue Seite geöffnet wurde . Die Funktion cpdf_set_current_page( ) erlaubt es , die aktuelle Seite zu verlassen und mit den Änderungen einer anderen Seite fortzufahren .

Die meisten Funktionen sind ziemlich einfach zu benutzen . Der schwierigste Teil ist wahrscheinlich die Erzeugung eines sehr einfachen PDF-Dokuments überhaupt . Das folgende Beispiel sollte für Sie eine gute Starthilfe sein . Es erzeugt ein Dokument mit einer Seite . Die Seite enthält den Umriss des Textes " Times-Roman " in 30-Punkt-Schrift . Der Text ist unterstrichen .

Anforderungen

Um die ClibPDF-Funktionen benutzen zu können , müssen Sie das ClibPDF-Paket installieren . Es ist zum Herunterladen erhältlich von FastIO , aber für deren kommerzielle Verwendung ist es erforderlich , dass Sie eine Lizenz erwerben . Für PHP wird cpdflib = 2 benötigt .

Installation

Damit diese Funktionen zur Verfügung stehen , müssen Sie PHP mit --with-cpdflib[ =DIR ] übersetzen . DIR ist das cpdflib-Installationsverzeichnis , standardmäßig / usr . Zusätzlich können Sie die jpeg - und tiff-Bibliotheken für die Verwendung durch ClibPDF angeben . Das erreichen Sie , indem Sie an ihre Konfigurationszeile die Optionen --with-jpeg-dir[ =DIR ] --with-tiff-dir[=DIR ] anfügen .

Laufzeit Konfiguration

Diese Erweiterung definiert keine Konfigurationseinstellungen in der php.ini .

Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung , wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde .

CPDF_PM_NONE ( integer )

CPDF_PM_OUTLINES ( integer )

CPDF_PM_THUMBS ( integer )

CPDF_PM_FULLSCREEN ( integer )

CPDF_PL_SINGLE ( integer )

CPDF_PL_1COLUMN ( integer )

CPDF_PL_2LCOLUMN ( integer )

CPDF_PL_2RCOLUMN ( integer )

Beispiele

Beispiel 1 . Ein einfaches ClibPDF-Beispiel

 
?php

 
$cpdf

 
=

 
cpdf_open(

 
0)

 
;

 
cpdf_page_init($cpdf

 
,

 
1

 
,

 
0

 
,

 
595

 
,

 
842

 
,

 
1.0)

 
;

 
cpdf_add_outline($cpdf

 
,

 
0

 
,

 
0

 
,

 
0

 
,

 
1

 
,

 
"Seite

 
1")

 
;

 
cpdf_begin_text($cpdf)

 
;

 
cpdf_set_font($cpdf

 
,

 
"Times-Roman"

 
,

 
30

 
,

 
"WinAnsiEncoding")

 
;

 
cpdf_set_text_rendering($cpdf

 
,

 
1)

 
;

 
cpdf_text($cpdf

 
,

 
"Times

 
Roman

 
outlined"

 
,

 
50

 
,

 
750)

 
;

 
cpdf_end_text($cpdf)

 
;

 
cpdf_moveto($cpdf

 
,

 
50

 
,

 
740)

 
;

 
cpdf_lineto($cpdf

 
,

 
330

 
,

 
740)

 
;

 
cpdf_stroke($cpdf)

 
;

 
cpdf_finalize($cpdf)

 
;

 
Header("Content-type

 
:

 
application

 
/

 
pdf")

 
;

 
cpdf_output_buffer($cpdf)

 
;

 
cpdf_close($cpdf)

 
;

 
?



Die pdflib-Distribution enthält ein komplexeres Beispiel , das eine Reihe von Seiten mit einer Analoguhr erzeugt . Hier ist dieses Beispiel , das unter Verwendung der ClibPDF-Erweiterung in PHP konvertiert wurde :

Beispiel 2 . pdfclock-Beispiel der pdflib 2.0 Distribution




Siehe auch

Siehe auch die Dokumentation der PDFlib -Erweiterung .

Inhaltsverzeichnis
cpdf_add_annotation -- Fügt eine Anmerkung ein
cpdf_add_outline -- Fügt ein Lesezeichen für die aktuelle Seite hinzu
cpdf_arc -- Zeichnet einen Kreisbogen
cpdf_begin_text -- Beginnt einen Textabschnitt
cpdf_circle -- Zeichnet einen Kreis
cpdf_clip -- Beschränkt alle Zeichnungen auf den aktuellen Pfad
cpdf_close -- Schließt ein PDF-Dokument
cpdf_closepath_fill_stroke -- Schließt, füllt und zeichnet den aktuellen Pfad
cpdf_closepath_stroke -- Schließt einen Pfad und zeichnet eine Linie entlang des Pfades
cpdf_closepath -- Schließt den aktuellen Pfad
cpdf_continue_text -- Gibt den Text in der nächsten Zeile aus
cpdf_curveto -- Zeichnet eine Kurve
cpdf_end_text -- Beendet einen Textabschnitt
cpdf_fill_stroke -- Füllt und zeichnet den aktuellen Pfad
cpdf_fill -- Füllt den aktuellen Pfad
cpdf_finalize_page -- Beendet eine Seite
cpdf_finalize -- Beendet ein Dokument
cpdf_global_set_document_limits -- Setzt Beschränkungen für alle PDF-Dokumente
cpdf_import_jpeg -- Öffnet ein JPEG-Bild
cpdf_lineto -- Zeichnet eine Linie
cpdf_moveto -- Legt die aktuelle Position fest
cpdf_newpath -- Beginnt einen neuen Pfad
cpdf_open -- Öffnet ein neues PDF-Dokument
cpdf_output_buffer -- Gibt das PDF-Dokument aus dem Zwischenspeicher aus
cpdf_page_init -- Beginnt eine neue Seite
cpdf_place_inline_image -- Platziert ein Bild auf der Seite
cpdf_rect -- Zeichnet ein Rechteck
cpdf_restore -- Stellt die zuvor gesicherte Umgebung wieder her
cpdf_rlineto -- Zeichnet eine Linie (relativ)
cpdf_rmoveto -- Legt die relative aktuelle Position fest
cpdf_rotate_text -- Legt den Drehwinkel für Text fest
cpdf_rotate -- Legt den Drehwinkel fest
cpdf_save_to_file -- Schreibt ein PDF-Dokument in eine Datei
cpdf_save -- Sichert die aktuelle Umgebung
cpdf_scale -- Legt die Vergrößerung fest
cpdf_set_action_url -- Setzt einen Hyperlink
cpdf_set_char_spacing -- Legt den Zeichenabstand fest
cpdf_set_creator -- Setzt das Urheberfeld des PDF-Dokuments
cpdf_set_current_page -- Setzt die aktuelle Seite
cpdf_set_font_directories -- Legt die Verzeichnisse fest, die bei Verwendung externer Schriftarten durchsucht werden
cpdf_set_font_map_file -- Legt bei Verwendung externer Schriftarten die Datei mit den Schriftart-Dateiname-Zuordnungen fest
cpdf_set_font -- Wählt die aktuelle Schriftart und -größe
cpdf_set_horiz_scaling -- Setzt die horizontale Textskalierung
cpdf_set_keywords -- Setzt das Schlüsselwortfeld des PDF-Dokuments
cpdf_set_leading -- Setzt den Zeilenabstand
cpdf_set_page_animation -- Legt den Übergang zwischen den Seiten fest
cpdf_set_subject -- Setzt das Themenfeld des PDF-Dokuments
cpdf_set_text_matrix -- Legt die Text-Matrix fest
cpdf_set_text_pos -- Legt die Textposition fest
cpdf_set_text_rendering -- Legt fest, wie Text wiedergegeben wird
cpdf_set_text_rise -- Legt die vertikale Textverschiebung fest
cpdf_set_title -- Setzt das Titelfeld PDF-Dokuments
cpdf_set_viewer_preferences -- Legt fest, wie das Dokument im Betrachter dargestellt wird
cpdf_set_word_spacing -- Legt den Abstand zwischen den Wörtern fest
cpdf_setdash -- Setzt eine gestrichelte Linie
cpdf_setflat -- Legt die Flachheit fest
cpdf_setgray_fill -- Setzt die Füllfarbe auf einen Grauwert
cpdf_setgray_stroke -- Setzt die Zeichenfarbe auf einen Grauwert
cpdf_setgray -- Setzt Zeichen- und Füllfarbe auf einen Grauwert
cpdf_setlinecap -- Legt den Typ der Linienenden fest
cpdf_setlinejoin -- Legt den Typ der Linienverbindungen fest
cpdf_setlinewidth -- Legt die Linienbreite fest
cpdf_setmiterlimit -- Legt die Gehrungsbegrenzung fest
cpdf_setrgbcolor_fill -- Setzt die Füllfarbe auf einen RGB-Farbwert
cpdf_setrgbcolor_stroke -- Setzt die Zeichenfarbe auf einen RGB-Farbwert
cpdf_setrgbcolor -- Setzt Zeichen- und Füllfarbe auf einen RGB-Farbwert
cpdf_show_xy -- Gibt Text an der angegebenen Position aus
cpdf_show -- Gibt Text an der aktuellen Position aus
cpdf_stringwidth -- Liefert die Breite einer Zeichenkette in der aktuellen Schriftart
cpdf_stroke -- Zeichnet eine Linie entlang des aktuellen Pfades
cpdf_text -- Gibt den Text mit Parametern aus
cpdf_translate -- Legt den Ursprung des Koordinatensystems fest