Dann muss wahrscheinlich der Entwickler ran.
Druckbare Version
Dann muss wahrscheinlich der Entwickler ran.
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. :(
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?
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. :)Zitat:
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 ...