pdf_generator2
PDF's mit Stylesheets erzeugen
Um PDF's mit Stylesheets erzeugen zu können, benötigt man diese Extension. Für zusätzliche Schriften (eigentlich sind das die Basisschriften - wie z.B. Arial) sollte man die Extension pdf_generator2_fonts installieren.
Die Umleitung der HTTP Requests geschieht mittels .htaccess:
RewriteRule .* index.php [L]
RewriteRule ^[^/]*\.html$ index.php
RewriteRule ^[^/]*\.pdf$ index.php
Konfiguration
Extension
In der Extension simulateStaticPdf ankreuzen
Typoskript
Ins TS Setup folgendes:
# ---------- PDF GENERATOR ----------
pdf_generator = PAGE
pdf_generator {
typeNum = 123
use_pdflib = 0
config {
pageGenScript = EXT:pdf_generator2/gen_pdf.php
simulateStaticPdf = 1
cssmedia = all
pdf_generator2.size = A4
}
includeCSS.file1 = fileadmin/layout/css/certificate_print.css
includeCSS.file1.import = 0
includeCSS.file1.media = all
includeCSS.file2 = fileadmin/layout/css/certificate_print_pdf.css
includeCSS.file2.import = 0
includeCSS.file2.media = all
50 = CONTENT
50 {
table = tt_content
select.orderBy = sorting
select.where = colPos = 0
select.languageField = sys_language_uid
}
#60=TEXT
#60.value = pdfprint only
}
# ---------- end PDF GENERATOR ----------
Zur Erzeugung des Links noch:
# ---------- RSYS_PDFLINK ----------
RSYS_PDFLINK = TEXT
RSYS_PDFLINK {
value = Als PDF speichern
postUserFunc = tx_pdfgenerator2->makePdfLink
postUserFunc.target = _blank
}
HTML Template
Der Seite ein einfaches Template zuordnen welches nur die Content Spalte 0 (colPos = 0 ausgibt) und die Stylesheets inkludiert und ausser dem Body Tag nur für die PDF Erzeugung relevante Klassen enthält und das Stylesheet fileadmin/layout/css/certificate_print.css zuordnen.
<!-- ###DOCUMENT### -->
<!--TYPO3SEARCH_begin-->
###RSYS_CONTENT_0###
<div class="printlink">###RSYS_PDFLINK###</div>
<!-- ###DOCUMENT### -->
Die Seite sieht dann wie das PDF aus, bei Klick auf den Printlink wird das PDF erzeugt mit den stylesheets fileadmin/layout/css/certificate_print.css und zusätzlich fileadmin/layout/css/certificate_print_pdf.css welches Modifikationen für das PDF vornehmen kann (z.B. Hintergrundgrafik ausblenden.
Probleme
RealURL
Ich habe es mit RealURL nicht zum laufen bekommen - der Rewrite Eintrag in der .htaccess verträgt sich nicht mit den RealURL Einträgen. Aber hier gibt es vielleicht eine Lösung - hatte nur nicht die Zeit dem nachzugehen.
GD
Ohne GD Library hat es nicht funktioniert, obwohl ich im Manual dazu keine Anmerkung gefunden habe.