Zum Inhalt springen

aussehen des PDF\'s verändern (pdf_generator2)

Erstellt am 9. April 2006 · 8 Antworten · letzte Antwort am 23. März 2008

Tags: PDF, Frage

donenik ·

Hallo,
ich habe die Extension pdf_generator2 installiert. Das funktioniert wunderbar, es kommen echte PDF's raus. Aber wie formatiere ich dieses PDF jetzt? Es wird einfach nur auf weißem Hintergrund in Times dargestellt. Der Abstand zum Rand und die Seitengröße ist sehr einfach zu ändern aber wie funktioniert der Rest? Ich habe das Manual rauf und runter gelesen aber da steht nur das das geht.
Ich würd mich freuen wenn mir jemand nen Denkanstoß geben könnte!

donenik ·

o.O So einfach!

pdf_generator.10 = TEMPLATE
pdf_generator.10.template = FILE
pdf_generator.10.template.file = irgendEinTemplate.html

Dann natürlich noch die Marker im html Template ersetzen, css hinzufügen usw. und dann sollte das gehen

donenik ·

So hier ist noch meine Lösung:

#Stylesheet und Template einbinden, Inhaltsposition angeben

pdf_generator { 
     stylesheet = fileadmin/pdf_template/pdf_style.css
     10 = TEMPLATE
     10.template = FILE
     10.template.file = fileadmin/pdf_template/pdf_template.html
     10.workOnSubpart = BODY
     10.marks.INHALT = CONTENT
     10.marks.INHALT  {
          table = tt_content
          select.orderBy = sorting
          select.where = colPos = 0
          }
       }


#Wichtig wenn der Content im html-Template angegeben wird da sonst der Inhalt zwei mal angezeigt wird

pdf_generator.50.select.where = colPos=


#Link zum PDF angeben

seite.10.marks.PDF = TEXT
seite.10.marks.PDF.value = PDF
seite.10.marks.PDF.postUserFunc = tx_pdfgenerator2->makePdfLink
seite.10.marks.PDF.postUserFunc.target = _blank
ManuP ·

Hi Donenik,

habe nach deiner Angabe die PDF-Version installiert.
Auf meinem lokalen Rechner funktioniert die Funktion tatelos.

Auf der Domain leider nicht.
Bei der Erstellung öffnet sich ein untitled-Dokument.

Hier nochmal der Code von mir:

Setup

pdf_generator {
 stylesheet = fileadmin/design/css/drucken.css
 10 = TEMPLATE
 10.template = FILE
 10.template.file = fileadmin/design/pdf_template.htm
 10.workOnSubpart = DOCUMENT_BODY
 10.marks.INHALT < styles.content.get
 10.marks.UPDATE = TEXT
 10.marks.UPDATE.data = date:U
 10.marks.UPDATE.strftime = <div class="last_update">Erstellt am %d.%m.%Y um %H.%M Uhr</div>
}

Und hier die Einbindung in das Template

subparts.PDF = IMAGE
subparts.PDF.file = fileadmin/template/bilder/pdf.gif
subparts.PDF.stdWrap.postUserFunc = tx_pdfgenerator2->makePdfLink
subparts.PDF.stdWrap.postUserFunc.target = _blank

Habe die fonts ebenfalls in font-Verzeichnis kopiert und in der htaccess. folgende Einträge getätigt:

ErrorDocument 404 /error.html
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^typo3$ /typo3/index_re.php
RewriteRule ^[^/]*\.html$ index.php
RewriteRule ^[^/]*\.pdf$ index.php

Weiß nicht mehr woran das liegt #angry#

Vielleicht weißt du Rat.
Ciao der Manu

stonie ·

Funktioniert es, wenn du folgendes machst:

Rechtsklick auf den Link -> Ziel speichern unter und als <beliebigername>.pdf speicherst?

donenik ·

So ich noch mal mit einer weiteren Lösung.
Ich habe den pdf_generator mit realurl zusammen eingesetzt. Jetzt hab ich wie gewohnt den Link mit

seite.10.marks.PDF = TEXT
seite.10.marks.PDF.value = PDF
seite.10.marks.PDF.postUserFunc = tx_pdfgenerator2->makePdfLink
seite.10.marks.PDF.postUserFunc.target = _blank

erzeugt, kommt auch nen PDF raus nur dummerweise heißt das wenn simulateStaticPdf = 0 gesetzt ist index.php, womit Windoof user dann ja ein Problem haben. Setzt man simulateStaticPdf = 1 wird ein Link erzeugt der zB. 60.pdf lautet, damit kann realurl dann nix mehr tun.

Des Rätsels Lösung:

seite.10.marks.PDF = TEXT 
seite.10.marks.PDF { 
     value = Druckansicht
     typolink.parameter.data = page:uid
     typolink.additionalParams.insertData=1
     typolink.additionalParams =&type=123
 
 }

erzeugt den Link. Die localconf.php muss dann folgendermaßen aussehen:

$TYPO3_CONF_VARS['FE']['addRootLineFields'].= ',tx_realurl_pathsegment';

$TYPO3_CONF_VARS['EXTCONF']['realurl']['_DEFAULT'] = array(
'init' => array(
'enableCHashCache' => 1
),
'preVars' => array(
array(
'GETvar' => 'no_cache',
'valueMap' => array(
'no_cache' => 1,
),
'noMatch' => 'bypass',
),
array(
'GETvar' => 'L',
'valueMap' => array(
'en' => '1',
),
'noMatch' => 'bypass',
),
),
'fileName' => array (
        'defaultToHTMLsuffixOnPrev' => true,
        'index' => array(
                'rss.xml' => array(
                        'keyValues' => array (
                                'type' => 100,
                        )
                ),
                'print' => array(
                        'keyValues' => array(
                                'type' => 98,
                        )
                ),

       //Der wichtige Teil fürs PDF
                'download.pdf' => array(
                        'keyValues' => array(
                                'type' => 123,
                        )
                ),


                '_DEFAULT' => array(
                        'keyValues' => array(
                        )
                ),
        ),
),
);

Jetzt kommt das PDF folgendermaßen raus:

beispiel.seite.de/Startseite/Download.pdf

So einfach kanns sein, mein Tisch hatt allerdings Bissspuren davon getragen :-)

donenik ·

Sorry, funzt doch nicht. Es wird immer nur die Startseite ausgegeben, nicht die Seite auf der man ist!

Falls jemandem noch was einfallen sollte: GERNE! #angry#

Unbekannter Benutzer ·

FPDF Library (fpdf 0.1.0)
PDF Generator 2 - Fonts for PDFlib (pdf_generator2_fonts 0.0.1)

Ich habe mal mit diesen beiden extensions ganz erfolgreich dynamisch Layouten können.
Ist mit den extensions auch alles erklärt. Ich brauchte unbedingt die ständig in Word zu aktualsierenden Datenlisten, nun endlich mal datenbankgestützt generiert. Ging super, selbst Seitenumbrüche ließen sich wohl definieren. Alles am Ende über CSS.
Alles, was mir dabei nicht gelang, war die Hausschrift des Kundens in das PDF zu integrieren, womit der Einsatz dieses Tools auf der betreffenden Webseite scheiterte. Mit den Schriften wird es wohl noch Entwicklung benötigen.

elwe ·

Ist zwar etwas spät, aber ich habe diesen Thread immer wieder bei meiner Suche nach Lösungen gefunden. Ich habe eine Lösung gefunden, damit nicht immer die Startseite angezeigt wird:

In der Datei "class.tx_pdfgenerator2.php" diese Zeile suchen (bei mir Zeile Nr. 59):

if ($parts[$pCount-1]=='pdf') {

und mit dieser ersetzen:

if (false) {

Funktioniert bei mir einwandfrei.

René