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.

Erstellt: 07/2010| Geändert: 10/2015