Genau!
ohne pdf-template: Leere weiße Seite
mit pdf-template: Seite aus der PDF-Vorlage
Der Artikelinhalt wird dann dort einfach drauf geschrieben.
Genau!
ohne pdf-template: Leere weiße Seite
mit pdf-template: Seite aus der PDF-Vorlage
Der Artikelinhalt wird dann dort einfach drauf geschrieben.
Ah
Jetzt ist mir das klar ... ich war die ganze Zeit von einer Formatvorlage ausgegangen ... und den Rest muss man dann versuchen, per CSS zu regeln?
Mark
Hallo,
wärs es möglich, dass jemand mal als Beispiel eine funktionierende CSS-Datei postet? PDF-Vorlage funktioniert prima,
über die CSS Datei konnte ich bislang aber nur der Farbe der h1 ändern.
Die Angabe von margin, padding Werten, Schriftgrösse etc .. werden allesamt ignoriert ....
Ich würde gerne nur mal ein Beispiel sehen, was an CSS-Anpassungen möglich sein könnte.
Danke für Hinweise
Mark
Ich hab echt den ganzen Tag mit diversen margin/padding/border Angaben und hin und her getestet, aber
an Abständen von Elementen konnte ich nichts anpassen.
Das wäre nicht so "schlimm" wenn mir nicht die Schrift unter einem Bild regelmässig im PDF direkt über
dem Bild platziert würde ... so knapp 50 Pixel.
Auch über einer h1 ist extrem viel platz. Weiterhin ist mir aufgefallen, dass ein background-color für ein
DIV Element sich wie eine Hintegrundfarbe für ein Inline-Element verhält. aber auch ein
div {*display: block; }
hilft da nicht weiter ....
Mark*
Das verwendete TCPDF kann CSS nicht so besonders gut. Ich habe die Erfahrung gemacht, dass man teilweise andere Selektoren verwenden sollte und damit manchmal Erfolg hat.
So sollte man in dem CSS nicht nur die Klasse ansprechen, sondern das HTML-Tag mit ins CSS mit aufnehmen.
Also statt .meineKlasse probieren mit div.meineKlasse, falls die Klasse ein div-Element auszeichnet.
Ja, das hatte ich schon ausprobiert ... aber das hat leider auch nicht geholfen.
aber auch die elemente wie ein normales 'div'
werden nicht bei Abständen berücksichtigt ... welche funktionierenden Beispiele gibt
es zum Beispiel für die Abstände?
Danke für Hinweise
Mark
Ich Bau mir das immer in Tabellen um, mit denen kommt TCPDF sehr gut klar
Gesendet von meinem ONE A2003 mit Tapatalk
- GitHub
- Kontaktanfragen
"Ein Lächeln ist die kürzeste Entfernung zwischen zwei Menschen." Victor Borge
Mh, das ist keine Option .....
kann ich nicht direkt beim Parsen eingreifen und dort einen Abstand nach unten bei Bildern mitgeben? Das ist momentan wirklich das
einzige was wirklich stört, dass die Bilder und darunterfolgende Texte sich überlagern.
Danke
Mark
Hallo zusammen,
wir haben irgendwie das Problem, dass PNGs halbtransparent in der PDF-Ausgabe dargestellt werden.
JPGs sehen hingegen gut aus.
Hatte jemand anders schon einmal dieses Problem und eine Lösung gefunden?
(außer alle PNGs in JPGs umzuspeichern)
Contao: 3.5.2
tcpdf_ext und pdf_template sind aktuell.
Vielen Dank,
Steffi
Update:
Probleme gibt es mit png24 und Transparenz.
png24 ohne Transparenz funktioniert (macht aber natürlich wenig Sinn ).
png8 funktioniert sowohl mit als auch ohne Transparenz.
Sobald ich nun aber über 650px Seitenlänge komme, wird das Bild gar nicht mehr angezeigt, in der PDF ist ein entsprechender Weißraum.
Warum das jetzt so ist, habe ich bisher nicht rausfinden können. Ob es mit der Dateigröße oder meinen Einstellungen in Contao oder Photoshop zusammenhängt ... keine Ahnung.
Die Redakteure der Seite haben auf jeden Fall wesentlich größere Grafiken (Pixel und KB) eingebaut ... die auch angezeigt werden - jedoch nur halbtransparent
Über die tcpdf.css kann ich bisher gar nicht auf die Bilder einwirken.
Ich probier mal ein wenig weiter - so weit ist die Lösung glaube nicht weg
Ist es irgendwie möglich, die variablen Daten, welche der Nutzer in einem Formular eingegeben hat, in die PDF Datei zu übertragen?
Ich bekomme es einfach nicht hin. Werden die Felder {{post::???}} in das PDF Formular hinterlegt, oder wie funktioniert es?
Vielen Dank für die Hilfe.
Daten, die im Artikel ausgegeben werden, sollten genauso auch im PDF auftauchen.
Das sollte dann ohne (oder mit abgeschalteter pdf-template-Erweiterung) genauso sein.
Ich habe Contao 3.5.18 mit der Paketverwaltung, tcpdf_ext 3.1.0.9010 und pdf-template 3.4.0.9005 an laufen.
Wenn ich im FE eine PDF erstellen lasse, kommt folgende Fehlermeldung:
Die Fehlermeldung erhalte ich auch, wenn ich eine Blanko PDF-Vorlage verwende.Code:TCPDF ERROR: SVG Error: Not well-formed (invalid token) at line 1
Die PDF-Datei wurde mit Indesign erstellt.
Gibt es hierfür eine Lösung?
Besten Dank für Hinweise und Tipps.
VG,
Gregor
Hallo Gregor,
hast Du das PDF in der richtigen Version "PDF Specification 1.4" abgespeichert?
Ich würde jetzt darauf tippen, dass dort SVG-Inhalte drin sind, die von TCPDF nicht verarbeitet werden können. Den Fehler habe ich bisher nicht gehört.
Hast Du schon mal bei TCPDF nachgesehen, ob dort was dazu steht?
Eventuell:
https://github.com/tecnickcom/TCPDF/pull/42
https://github.com/tecnickcom/TCPDF/pull/7
Du könntest (nach einem Backup) mal versuchen, TCPDF in Deinem Contao unter vendor/tecnickcom/tcpdf upzudaten.
Wenn das hilft, ein Core-Ticket mit Updateanliegen erstellen.
Hallo Hagen,
vielen Dank für die Hinweise.
Das mit SVG dachte ich auch zuerst, deshalb habe ich es auch mal mit einer Blanko PDF-Datei versucht, also ohne jeglichen Inhalt.
Ich glaube mittlerweile auch, dass es kein Problem von pdf-template ist, denn wenn ich pdf-template deaktiviere erhalte ich die gleiche Fehlermeldung.
OK, Problem gelöst.
Man sollte sich auch mal Gedanken über eine Fehlermeldung machen
Problem war eine SVG-Datei, die auf der HTML-Seite als Icon eingebunden war und nicht in der PDF-Vorlage.
Habe das Icon nun als PNG-Datei eingebunden und alles funktioniert bestens.
Die SVG wurde mit Illustrator erstellt, aber da suche ich jetzt nicht nach einer Lösung.
Hallo zusammen.
Ich habe seit neusten ein Problem mit der Erweiterung: Im Startpunkt der Webseite kann ich so oft ich will die PDF-Vorlagendatei auswählen, es wird nicht gespeichert. Die Datei ist im Backend angegeben, bis ich auf Speichern klicke.
Habe erst auf Contao 3.5.23 geupdatet. Kann es damit was zu tun haben? Wie bekomm ich es hin, dass er die Vorlage speichert?
Edit: Gerade die error.log durch gesehen, den Fehler gibt es wohl seit dem Update auf Contao 3.5. Zumidnest zeitlich würde das zusammen passen.
LGPHP-Code:
PHP Fatal error: Uncaught exception 'Exception' with message 'Unable to find "startxref" keyword.'
Nicole
Geändert von Webstylerin (19.01.2017 um 08:45 Uhr)
Hat evtl. was mit der 23 zu tun. Heute sollte die 24 kommen. Also erstmal bis dahin abwarten, oder zurück auf 21.
Bitte!
Vor Anfragen im Forum HTML validieren.
Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.
Vielen Dank an alle Wunschlistenerfüller
Andreas Burg, Web Solutions
Dann muss wahrscheinlich der Entwickler ran.
Bitte!
Vor Anfragen im Forum HTML validieren.
Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.
Vielen Dank an alle Wunschlistenerfüller
Andreas Burg, Web Solutions
Ich werde mir das heute Abend ansehen, bisher sind mir die Probleme nicht bekannt.
Dieses "startxref" sieht mir nach PDF aus. Ist Dein Vorlagen-PDF in PDF-Version 1.4 oder kleiner gespeichert?
Das kannst Du herausfinden, wenn Du im Adobe Reader die Eigenschaften aufrufst.
Das wäre super.
Ist tatäschlich Version 1.3. Mir war nicht bewusst, dass das geändert werden muss. Die PDF wurde damals zusammen mit Contao 2.x erstellt. Ich änder das mal...
EDIT: PDF-Version nun "1.4 (Acrobat 5.x)", ändert leider nichts am Fehler und an der Tatsache, dass die PDF-Auswahl nicht gespeichert wird.
Geändert von Webstylerin (19.01.2017 um 13:49 Uhr)
Hallo Webstylerin,
ich habe es in einem Contao 3.5.21 ausprobiert: bei mir keine Fehlermeldung.
wichtig sind diese beiden Erweiterungen, die in dieser Version vorliegen sollten:
- pdf-template 3.4.0 Build 5
- tcpdf_ext 3.1.0 Build 10
Hast Du in dem zu druckenen Artikel evtl. was drin, was TCPDF nicht kann?
z.B. SVG-Grafiken, da weiß ich nicht, ob das geht
Versuche es einmal mit dem Artikel, der nur ein Textelement enthält, damit wir den Fehler etwas eingrenzen können.
EDIT:
Wenn das Speichern der Vorlage im Startpunkt nicht funktioniert, was nur über Core-Funktionen geht, solltest Du mal den Contao-Check drüber laufen lassen. Ich denke, da stimmt was im Contao nicht ganz, denn das hat mit der Generierung des PDF noch gar nichts zu tun.
Oder hast Du Sonderzeichen, Blanks, ... im Dateinamen?
Geändert von do_while (19.01.2017 um 17:24 Uhr)
Guten Morgen.
Vielen Dank, dass du drauf geschaut hast.
Meine Versionen:
pdf-template 3.4.0 Build 5
tcpdf_ext 3.1.0 Build 10
Gerade noch mal alle Erweiterungen aktualisiert. Dabei ist mir aber eine andere Sache aufgefallen, nachdem ich die Erweiterungen aktualisiere bekomme ich eine Datenbankaktualisierung:
Natürlich hab ich das jedes mal gemacht, jetzt habe ich diese Aktualisierung aber mal NICHT gemacht und schon speichert er auch wieder die Vorlagendatei.Code:ALTER TABLE `tl_page` CHANGE `pdfTplSRC` `pdfTplSRC` varchar(255) NOT NULL default '';
Diese DB-Aktualsierung kommt jedes mal wenn ich die Erweiterungen aktualsiere, auch wenn ich das davor schon X mal gemacht habe. Auch wenn die gleichen Versionen schon installiert sind, sieht es nach der Aktualisierung so aus:
Anschließend kommt wieder die DB-Aktualisierung. Mach ich die ein mal, ist sie weg bis ich die Erweiterungen aktualisere, dann ist die gleiche Änderung wieder da.Code:Prüfung/Reparatur pdf-template 3.4.0 Build 5 1 Datei(en) installiert 9 Datei(en) unverändert Aktion erfolgreich. Prüfung/Reparatur tcpdf_ext 3.1.0 Build 10 11 Datei(en) unverändert Aktion erfolgreich.
Ich denke hier liegt der Fehler, warum bekomme ich jedes mal diese "falsche" DB-Änderung angezeigt?
Nebenbei: Ich habe keine SVG-Grafiken auf der Seite, Contao-Version ist mittlerweile 3.5.24, Contao-Check ist valide, Dateinname der PDF ist ganz brav ohne problematische Zeichen.
VG
Nicole
Dass immer wieder eine Datei nachinstalliert wird, kann ich bei mir nachvollziehen.
Das führt aber nicht zu Datenbankänderungen, bei mir immer "Die Datenbank ist aktuell".
Ich forsche mal, welche Datei da immer wieder installiert wird...
Hallo Nicole,
ein paar Dinge kann ich mir inzwischen erklären.
1)
Immer wieder wird 1 Datei installiert.
Das liegt daran, dass die Erweiterung eine runonce.php mitbringt, diese wird einmalig ausgeführt und dann wieder gelöscht. Beim nächsten Update das gleiche Spiel.
2)
Das ist mir unklar, denn die runonce.php konvertiert das Feld pdfTplSRC von varchar(255) zu binary(16). Das wurde notwendig, als die UUIDs eingeführt wurden.Code:ALTER TABLE `tl_page` CHANGE `pdfTplSRC` `pdfTplSRC` varchar(255) NOT NULL default '';
Die Konvertierung scheint ja auch zu funktionieren, denn wenn Du den Datenbankupdate abbrichst, scheint es ja zu funktionieren.
Woher allerdings die Datenbank-Änderung kommt, ist mir schleierhaft, denn im DCA, wo die Datenbankstruktur festgelegt ist, steht das neue Format drin.
Ich habe so eine Ahnung:
Kann es sein, dass bei Dir im config-Verzeichnis der Erweiterung noch eine Datei database.sql existiert?
Wenn das so ist, dann lösche diese Datei bitte. Die braucht es nicht mehr.
Nun bin ich mal gespannt ...
Hallöchen do_while.
Entschuldige die späte Antwort, ich bekomme leider keine E-Mail-Benachrichtigungen vom Forum mehr sobald es eine Antwort gibt.
Genau das war der Fall. Habe sie gelöscht, nun gibt es auch keine DB-Aktualisierung mehr.Ich habe so eine Ahnung:
Kann es sein, dass bei Dir im config-Verzeichnis der Erweiterung noch eine Datei database.sql existiert?
Wenn das so ist, dann lösche diese Datei bitte. Die braucht es nicht mehr.
Vielen vielen Dank, dass du dem Grund auf die Spur gekommen bist.
Liebe Grüße
Nicole
Hallo zusammen,
ich habe in einer aktuellen Version 3.5.24 die Extension installiert und eine Vorlage angegeben. Nun möchte ich einen Artikel als PDF generieren, der auch unsichtbare Inhaltselemente ausgeben soll. Gibt es da eine Möglichkeit?
Außerdem hab ich festgestellt, dass Bilder vom Rocksolid-Slider nicht ausgegeben werden, stattdessen erscheint Javascript-Code. Auch hier die Frage, ob es da eine Lösung gibt.
Danke und viele Grüße
Silvia
Hallo landzone,
die Erweiterung lädt eine files/tcpdf.css für die Generierung des PDF, wenn die Datei vorhanden ist. Evtl. kannst Du dort die unsichtbaren Elemente aktivieren. Voraussetzung ist natürlich, dass sie im Quellcode vorhanden sind und nur per CSS ausgeblendet sind.
Bei einem Slider wird häufig alles, was man so sieht per JavaScript ausgegeben oder positioniert. Es ist schwer zu sagen, ob das gewünschte Bild zu dieser Zeit überhaupt bereits geladen ist (auch das kann per JavaScript geschehen, wie beispielsweise bei Lazyload). Hier musst Du wohl probieren was geht. Könnte möglicherweise auch durch entsprechende CSS-Anweisungen gehen.
pdf_template sorgt nur für die Vorlage im Hintergrund, die Abdruckung des Artikelinhalts übernimmt die normale Core-Funktion aus Contao. Das PDF-Plugin TCPDF kann an vielen Stellen weniger, als man erwarten würde. Das liegt dann aber in dem 3rd-Party-Modul TCPDF, dass auch Contao nur eingebunden wird.
Dankesehr.
Inhaltslemente, die im Backend unsichtbar sind, werden natürlich auch nicht im Quellcode ausgegeben. Da muss man dann wohl woanderrs ansetzen. Wahrscheinlich gehts dann wohl doch nicht ohne eigenes Modul?
Die Standard-PDF-Ausgabe ohne die Erweiterungen pdf_template und tcpdf_ext hatte die Bilder fehlerfrei dargestellt.
Viele Grüße
Silvia
@do_while
Ich verwende Contao 3.5.24. Hab nochmal getestet:
- Standard-PDF-Ausgabe gibt die Bilder aus und stellt darunter aber auch den Javascript-Code vermutlich des Sliders dar
- PDF-Vorlage aktiviert: Bilder werden nicht dargestellt, nur der Javascript-Code
Texte usw. in beiden Fällen okay.
Und auch getestet - Frontendvorschau:
Quellcode von versteckten Elementen wird nicht ausgegeben. Also hab ich wohl keine Möglichkeit mit css....
Vielleicht hat ja aber noch jemand eine Idee dazu. Hintergrund ist, dass die versteckten Elemente nicht auf der Website erscheinen sollen und nicht durchsuchbar sein sollen, sonder nur in der PDF-Ausgabe erscheinen sollen.
Danke und viele Grüße
Silvia
Du kannst die Elemente ausgeben lassen, wenn Du in der Kopfzeile der Frontendvorschau auf "Unveröffentlichte Elemente: anzeigen" stellst (sofern Du Admin bist).
Dann gib doch die entsprechenden Elemente nur für eine Mitgliedergruppe z.B. "PDF-Ausgabe" frei. Nur wenn Du dann als ein Frontend-Mitglied dieser Gruppe eingeloggt bist, werden alle Elemente ausgegeben. Für die Gruppe könntest Du dann noch gezielt die Passagen für Screen verstecken und im PDF-CSS freigeben, wenn das noch notwendig ist.
Halli Hallo,
hat jemand mittlerweile eine praktikable Lösung für das Problem mit den DIV-Abständen? Ich habe das Problem schon des öfteren gelesen, als einzige Lösung (die ich für das ce_text.html5-Template erfolglos probiert habe) stand dort, dass man aus dem Template die Zeilenumbrüche entfernen soll. Aber selbst wenn das funktioniert hätte, wäre das sehr unpraktisch gewesen.
Hat jemand eine Lösung?
LG
Nicole
Hallo zusammen, auf der Suche nach einer Lösung, wie ich den großen Abstand/Leerraum oberhalb der H1 im PDF entfernt bekomme, bin ich auf diverse Einträge hier im Forum gelandet, die i.d.R. alle sagen, dass es nicht möglich ist, per CSS die Margin- und Padding-Angaben von div, h1 & Co. für TCPDF zu beeinflussen. Auch folgender Workaround hat mir leider nicht weitergeholfen: https://community.contao.org/de/show...ft#post_379022
Ich habe jetzt aber einen Weg gefunden, wie ich (zumindest für meinen Anwendungsfall) zu einem guten Ergebnis komme:
Ich nutze die PDF-Funktion in einem Artikel, in dem lediglich ein Nachrichtenleser eingebettet ist. Es werden also ausschließlich Nachrichtenbeiträge dort angezeigt. Jeder Nachrichtenbeitrag beginnt ja immer mit dem Titel/H1. Demnach hatte ich immer eine ungewollte große Lücke zu Beginn des PDF.
Was TCPDF wohl berücksichtigt, sind Padding-Angaben in Tabellen. Also habe ich mir in dem Artikel vor den Nachrichtenleser ein Inhaltselement vom Typ "HTML" angelegt. Dort habe ich die öffnenden Tags einer Tabelle eingefügt, der ich zum einen eine CSS-Klasse gegeben habe, die (nur) für das Frontend auf "display: none;" eingestellt ist (ich habe sie "onlyprint" genannt), zum anderen habe ich ihr ein Padding von -65px verpasst:
Hinter dem Nachrichtenleser habe ich wiederum ein HTML-Element mit den schließenden Tabellen-Tags eingefügt, damit der HTML-Code "valide" bleibt. Also, quasi:Code:<table class="onlyprint" border="0" style="padding-top: -65px;"> <tr> <td>
Das bewirkt entsprechend, dass der Eingangsabstand im PDF um 65 Pixel verringert wird, was in meinem Fall das Problem löst, weil der Artikel/das PDF immer mit einer H1 beginnt.Code:</td> </tr> </table>
Nicht gerade hübscher Code, aber es funktioniert. Vielleicht hilft es ja noch irgendjemandem ...
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
Lesezeichen