Typo3: Eigene Extension Vorgestellt: powermailpdf
6. Mai 2013 | 41 KommentareWie im Artikel TYPO3: Extbase-Extensions erweitern mit Signal/Slots angedeutet sollte noch ein Artikel über die Extension erscheinen die Powermail 2 erweitert: Und hier ist er: Die Extension befüllt ein bestehendes PDF-Formular mit den Daten aus Powermail 2, welches auf der Bestätigungsseite zum Download angeboten wird.
Installation
Einfach die Extension aus der TER runter laden und installieren.
Konfiguration
Die Konfiguration wird per Typoscript vorgenommen.
Das Kernstück ist die Verbindung von den Powermail-Inputs mit den passenden PDF-Feldern. Dies geschieht über das Array settings.fieldMap in Typoscript:
TypoScript
settings.fieldMap { pdfField = PowermailField }
Beispiel
Es gibt ein Formular in Powermail mit folgenden Feldern:
- Vorname
- Nachname
- Alter
Weiter gibt es ein PDF-Dokument welches mit den Daten gefüllt werden soll mit den Feldern:
- PDFVorname
- PDFNachname
- PDFAlter
Dann würde das Array folgendermaßen aussehen:
TypoScript
settings.fieldMap{ PDFVorname= Vorname PDFName= Name PDFAlter= Alter }
Es ist keine weitere Konfiguration nötig, auf der Bestätigungsseite sollte nun das PDF zum Download angeboten werden.
Bekannte Probleme
Es ist momentan nicht möglich Checkboxen automatisch zu setzen, hierfür muss das Formular ggf. in mehreren Varianten vorgehalten werden.
9. Januar 2014, 08:26 Uhr
Habe nun alles soweit wie in der Doku beschrieben gemacht, erhalte aber immer den Fehler
FPDF-Merge Error: PDF file is empty!!
Typo3: 6.1.5
powermailpdf: 0.3.1
Mein TS:
plugin.tx_powermailpdf {
settings {
filelink {
jumpurl = 1
jumpurl.secure = 1
jumpurl.secure.mimeTypes = pdf=application/pdf
icon = 1
icon_link = 1
}
sourcefile = Resources/Private/PDF/sample.pdf
fieldMap{
#pdfField = PowermailField
firstname = namebeschenkter
}
}
showDownloadLink = {$plugin.tx_powermailpdf.settings.showDownloadLink}
sendEmail = {$plugin.tx_powermailpdf.settings.sendEmail}
email{
attachFile = {$plugin.tx_powermailpdf.settings.email.attachFile}
showDownloadLink = {$plugin.tx_powermailpdf.settings.email.showDownloadLink}
addFieldToSubject = {$plugin.tx_powermailpdf.settings.email.addFieldToSubject}
}
}
Die Datei „Resources/Private/PDF/sample.pdf“ existiert!
Die Fehlermeldung bleibt gleich, egal ob ich die PDF-Datei umbenenne, oder die Fieldzuordnung ändere, oder auch das ganze TS entferne.
Echt schade, sieht soweit ganz gut aus und ist genau das was ich suche 🙁
Hat jemand eine Idee?
LG und Danke!
Meine Constants:
plugin.tx_powermailpdf.settings.email.showDownloadLink = 1
plugin.tx_powermailpdf.settings.email.addFieldToSubject = 0
plugin.tx_powermailpdf.settings.enablePowermailPdf = 1
9. Januar 2014, 10:43 Uhr
Das ist ein Fehler in der Doku. Ich habe es mal geändert.
Wenn die PDF Datei in der Extension liegt, muss natürlich der Pfad so aussehen:
sourcefile = EXT:/Resources/Private/PDF/sample.pdf
Ich würde aber vorschlagen die Datei wo anders abzulegen z.B.:
filedamin/powermaipdf/datei.odf
9. Januar 2014, 20:53 Uhr
Hallo!
Vielen Dank!
Habe beide Möglichkeiten ausprobiert, aber der Fehler kommt immer noch… 🙁
An was kann es den noch liegen?
Mein aktuelles TS:
plugin.tx_powermailpdf {
settings {
filelink {
jumpurl = 1
jumpurl.secure = 1
jumpurl.secure.mimeTypes = pdf=application/pdf
icon = 1
icon_link = 1
}
sourcefile = fileadmin/sample.pdf
fieldMap{
#pdfField = PowermailField
firstname = namebeschenkter
}
}
showDownloadLink = {$plugin.tx_powermailpdf.settings.showDownloadLink}
sendEmail = {$plugin.tx_powermailpdf.settings.sendEmail}
email{
attachFile = {$plugin.tx_powermailpdf.settings.email.attachFile}
showDownloadLink = {$plugin.tx_powermailpdf.settings.email.showDownloadLink}
addFieldToSubject = {$plugin.tx_powermailpdf.settings.email.addFieldToSubject}
}
}
LG und Danke!
10. Januar 2014, 10:40 Uhr
Bin nicht sicher ob es daran liegt, aber die Variable ist nicht CamelCase.
So müsste es sein:
sourceFile = fileadmin/sample.pdf
12. Januar 2014, 11:28 Uhr
Hey perfekt!
😉
Das wars tatsächlich. Vielen Dank!
Jetzt habe ich nur noch ein anderes Thema:
Das generierte PDF, bzw. die generierten Formularfelder werden am PC angezeitg, mit dem PDF-Viewer von iOS und Android aber sind diese komplett leer.
Eine Idee?
Habe die Felder wie in der Doku beschrieben angelegt (Libre Office Writer -> PDF-Export).
LG
13. Januar 2014, 11:44 Uhr
Hmm da hab ich auch nicht wirklich eine Idee. Ich weiss nur das es in verschiedenen Linux Programmen angezeigt wird und im offiziellen Acrobat Reader.
23. August 2014, 21:00 Uhr
Hy!
Tatsächlich keine Anzeige der Feldinhalte im PDF auf iOS-Geräten.
Liegt das evtl. am Libre Office Writer?! … schwierig …
24. August 2014, 08:24 Uhr
…nach kurzer Recherche liegt das an Safari @ iOS.
Safari kann generell nicht mit ausfüllbaren pdf-Formularen umgehen.
Auch iCabMobile und Google Chrome mögen nicht :o(
3. Januar 2015, 20:45 Uhr
Hi,
ich habe die Extension eingebunden und sie funktioniert soweit.
Nur habe ich folgendes Problem
Die Felder aus der PDF haben folgende Namen
christian@myserver12:/var/www/blubberprojekt/fileadmin/template/pdfformular$ pdftk beitrittserklaerung_form2.pdf dump_data_fields
—
FieldType: Text
FieldName: topmostSubform[0].Page1[0].Arbeitnehmer[0]
FieldNameAlt: Arbeitnehmer
FieldFlags: 0
FieldJustification: Center
—
FieldType: Text
FieldName: topmostSubform[0].Page1[0].Lehrlinge[0]
FieldNameAlt: Lehrlinge
FieldFlags: 0
FieldJustification: Center
FieldName ist wohl der Name, der benutzt werden muss. Wie werden diese im TS angegeben?
fieldMap {
#Lehrlinge = anzahllehrlinge
#topmostSubform[0].Page1[0].Lehrlinge[0] = anzahllehrlinge
}
VG,
Hünni
5. Januar 2015, 11:07 Uhr
Hi Hünni,
# kommentiert die Zeile aus.
Schon mal mal ohne versucht? 😉
#topmostSubform[0].Page1[0].Lehrlinge[0] = anzahllehrlinge
->
topmostSubform[0].Page1[0].Lehrlinge[0] = anzahllehrlinge
5. Januar 2015, 12:07 Uhr
Hi,
natürlich ^^, auch debuggt.
Es geht nicht, TYPO3 kommt damit nicht klar. Ich habe die Felder in der PDF umbenannt und dann geht es 🙂
VG,
Christian
5. Januar 2015, 12:19 Uhr
Hi,
ja ok, das wäre auch mein nächster Vorschlag gewesen. Aber gut zu wissen das „[]“ und wahrscheinlich Sonderzeichen so nicht gehen.
Ach ja, hab gerade Deinen Blogbeitrag gelesen, was für Fehler sind denn in der Dokumentation? Dann würde ich die verbessern …
Bis denne, Eike
5. Januar 2015, 12:25 Uhr
Hi,
1.) Das hier stimmt nicht ganz
http://docs.typo3.org/typo3cms/extensions/powermailpdf/UsersManual/Index.html
plugin.powermailpdf.settings.enablePowermailPdf = 1 => plugin.powermail.settings.enablePowermailPdf = 1
2.) Das Beispiel hier enthält Fehler
– plugin.tx\_powermailpdf { => plugin.tx_powermailpdf { (Backslash)
– sourceFile = fieldMap{ => fieldMap{ (sourceFile ist der Pfad zur auszufüllenden PDF)
– showDownloadLink = {$plugin.tx\_powermailpdf.settings.showDownloadLink} (Backslash)
– attachFile = {$plugin.tx\_powermailpdf.settings.email.attachFile} (Backslash)
http://docs.typo3.org/typo3cms/extensions/powermailpdf/Configuration/Reference/Index.html#example
Ihr gar kein Github Repo dafür, dann könnte man das forken, fixen und euch einen Pull Request schicken 🙂
VG,
Christian
5. Januar 2015, 12:43 Uhr
1.)
Nee, plugin.tx_powermailpdf.enablePowermailPdf=1 ist richtig.
2.)
Stimmt habs verbessert.
Wir benutzen einen internen Mercurial Server und ich finde es aufwendig zwei Repositories zu pflegen, aber ich denk mal drüber nach zu forge.typo3 oder github zu gehen.
Bis denne, Eike
26. Mai 2015, 14:15 Uhr
1) Fehler in der Dokumentation ( http://docs.typo3.org/typo3cms/extensions/powermailpdf/singlehtml/ ):
To enable the extension you have to set plugin.powermailpdf.settings.enablePowermailPdf = 1
muss
To enable the extension you have to set plugin.***tx_***powermailpdf.settings.enablePowermailPdf = 1
heißen.
2) PDFtk wird in der Dokumentation erwähnt, funktioniert in der aktuellen TER-Version allerdings (leider) nicht. Gibt es hier Fortschritte?
3) Git repo würde ich auch prima finden – u. U. hätte ich dann den einen oder anderen Patch submitted. Es gibt doch ein Mercurial-plugin zum Pushen in Git repos: http://google.com/search?q=mercurial+push+git …
Grüße,
mvo
27. Mai 2015, 11:35 Uhr
Hi Martin,
1) Hab ich gändert. Müsste demnächst im TER richtig sein.
2) Nein, leider noch nicht, da wir das bis jetzt noch nicht benötigt haben. Steht aber auf der Liste, wenn ich mal Zeit hab 😉
3) Werde ich definitiv machen. Und danke für den git< ->hg Hinweis.
3. September 2015, 16:47 Uhr
Hi,
bin auf der Suche nach einer Möglichkeit ein Powermail Formular in eine PDF zu schreiben über die Extension gestolpert und muss sagen, ich bin begeistert. Die Einrichtung hat sehr gut funktioniert und nach etwas rumspielen habe ich auch die Ausgefüllte PDF per E-Mail erhalten.
Nur habe ich jetzt auch die Problematik, dass ich Checkboxen in meinem Formular habe. Reicht es hier einfach das pdftk auf dem Server zu installieren oder müssen hier noch andere Einstellungen vorgenommen werden (bestimmte Anweisung im Typoscript oder ähnliches)?
Grüße
Michael
3. September 2015, 17:00 Uhr
Hallo Michael,
wie wir oben auch schon geschrieben haben, funktioniert das Ausfüllen von Chechboxen im Moment nicht – einzige Möglichkeit, ist das Vorlage-PDF direkt in verschiedenen Varianten vorzuhalten.
Falls Du die Weiterentwicklung unterstützen willst (finanziell oder durch Code-Contribution) kannst Du Dich gerne bei uns melden.
4. September 2015, 08:11 Uhr
Hallo,
ja, das habe ich gelesen. Nur im Extension Manual steht ja, dass es mit pdftk gehen würde.
„If you want to fill checkboses in the pdf you need to have pdftk (http://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/) installed on your server.“
Oder habe ich das Falsch verstanden?
Würden Radio Buttons funktionieren?
9. September 2015, 12:24 Uhr
Ja das würde mit pdftk gehen, aber das ist noch nicht komplett fertig programmiert.
28. Januar 2016, 14:49 Uhr
Ein super Tool, jedoch probiere ich schon mit allen möglichen Programmen ein kompatibles PDF zu schreiben.
Entweder kommt der „FastView not support“ oder „pdf xref table“ Fehler.
Mit PDFTK funktioniert es leider auch nicht.
9. Februar 2016, 15:15 Uhr
Hallo,
Die Erweiterung funktioniert wunderbar.
Gibt es eine Möglichkeit das PDF nur an den Empfänger mitzuschicken, nicht aber an den Absender?
Besten Dank im Voraus!
Herzlich
23. Juni 2016, 10:23 Uhr
Hallo,
ich hatte die Erweiterung auch im Einsatz, hat alles funktioniert, aber seit kurzem kommt folgende Fehlermeldung:
„FPDF-Merge Error: field name not found“
Deutet ja darauf hin, dass in der auszufüllenden Datei ein Feldname nicht gefunden wird, aber: Zum einen hat sich weder das Formular noch die dazugeörige Datei geändert, zum anderen habe ich es noch mal kontrolliert, ich kann keine Fehler feststellen. Ich nutze (wie vorgeschlagen) Powermail 2.1.8 und die aktuellste Version der Erweiterung, einzige Änderung: Wir nutzen seit einiger Zeit ein SSL Zertifikat.
Habt Ihr eine Iddee?
29. Juni 2016, 10:52 Uhr
Hallo,
das deutet darauf hin, das entweder das Feld im pdf nicht vorhanden ist, oder das die TS settings (settings.fieldMap) nicht zu den Feldern im pdf passen.
Mit SSL dürfte das eigentlich nichts zu tun haben.
9. November 2016, 16:38 Uhr
Hallo Leute,
ich möchte die ausgefüllte PDF als Anhang versenden.
Folgende Einstellung habe ich aktiviert und ausprobiert:
email{
attachFile = 1
showDownloadLink = 1
}
Leider kommt die PDF nicht als Anhang, geschweige der Donwloadlink an. Ich kann aber in der Vorschau (Bestätigungsseite) die generierte pdf sehen.
Vielen Dank für die Tipps
Gerald
12. November 2016, 12:28 Uhr
Hallo,
ich war froh, dass ich diese Seite gefunden habe, denn ich brauche genau das, was du beschreibst. Also habe ich den obenstehenden Code ins Setup eingebunden. Leider bekomme ich am Ende folgende Fehlermeldung:
FPDF-Merge Error: Object streams are not supported
Ich habe Adobe Acrobat DC benutzt und erst einmal nur drei Felder erstellt: Name, Geburtsdatum und Mail. Typo3 kommt damit aber nicht zurecht. Was läuft hier schief?
Wäre super, wenn du mir helfen könntest.
Danke schonmal!
Jan
1. Juni 2017, 12:38 Uhr
Hallo,
wir haben diese tolle Extension in Verbindung mit Powermail erfolgreich im Intranet im Einsatz. Nun gibt es allerdings eine Anforderung, von der ich nicht weiß, ob ich sie umsetzen kann, in der Doku finde ich nichts dazu:
Aus einem Powermail-Formular sollen unterschiedliche PDF-Dateien per Mail an den Sender und an den Empfänger gesendet werden?
Lässt sich das irgendwie umsetzen?
Vielen Dank im Voraus für eine Antwort,
Barbara Quinkert
22. Juni 2017, 13:25 Uhr
Hallo,
sorry für die späte Antwort, ja das sollte ich umsetzen lassen. Benötigt aber Programmierarbeiten, von Haus aus kann das diese Extension nicht.
Sollten Sie dazu Hilfe benötigen, können Sie mich gerne kontaktieren.
18. April 2018, 20:35 Uhr
Hallo,
super extension, funktioniert bei mir auch fast. leider bekomme ich als downloadlink sowas hier angezeigt und keinen anklickbaren link:
<a href="index.php?id=471&jumpurl=uploads%2Ftx_powermail%2Fpdf-template_0e77758be2c523b3688471373352d8b5.pdf&juSecure=1&am……
Was hab ich noch falsch konfiguriert?
Danke
vg
Harald
19. April 2018, 14:43 Uhr
Hallo,
schöne Extension,
kann ich in der Antwortseite auch nur den Downloadlink anzeigen lassen?
Ich bekomme den Downloadlink nur wenn ich {powermail_all} ausgeben lasse.
Ein einfaches {downloadLink} funktioniert nicht.
Danke!
Harald
6. Juni 2018, 13:27 Uhr
Hallo,
Dazu https://docs.typo3.org/typo3cms/extensions/powermailpdf/Administration/Index.html
Mit der neusten Version kannst du auch {downloadLink} benutzen.
18. Juni 2018, 16:28 Uhr
I get: Class ‚FPDM‘ not found. What do I have to do to solve this?
Regards
Tomas
20. Juni 2018, 16:11 Uhr
Currently you need to install the extension via composer or use the old version.
I’m working on a non composer version at the moment.
17. August 2018, 11:37 Uhr
Hi 🙂
Ich konnte die Extension super nutzen und mein PDF wird auch gefüllt, zumindest in Chrome.
Wenn ich jedoch das PDF in Firefox öffnen will, lädt er ein komplett leeres PDF herunter (auch im Editor leer).
In Safari kommt die Fehlermeldung „Safari kann die Seite nicht öffnen. Fehler: „Der Vorgang konnte nicht abgeschlossen werden. Protokollfehler“ (NSPOSIXErrorDomain:100)“.
Bitte um Hilfe 🙂
Viele Grüße
Enrico
17. September 2018, 15:13 Uhr
Hi Eike, any time frame when the TER version will be ready? I have fiddled around with the composer setup but all I’ve got was an unusable TYPO3 package, guess I did something wrong. Back to normal operation now but I cannot powermailpdf to work, getting the „Class FPDM not found“ error as well. Thanks very much!
25. Oktober 2018, 15:12 Uhr
Hallo Eike,
auch ich bekomme den Fehler
Uncaught TYPO3 Exception: Class ‚FPDM‘ not found
Was kann ich tun? Welche „alte“ Version funktioniert denn genau?
Danke für kurze Info.
Viele Grüße
Pia
17. Dezember 2018, 22:39 Uhr
Das mitgelieferte TypoScript bzgl. der Konfiguration der JumpURLs ist nicht (mehr?) korrekt. Hier fehlt jeweils ein „typolinkConfiguration“. Richtig muss die Konfiguration lauten:
plugin.tx_powermailpdf {
settings {
filelink {
typolinkConfiguration {
jumpurl = 1
jumpurl.secure = 1
jumpurl.secure.mimeTypes = pdf=application/pdf
}
}
}
}
24. Januar 2019, 17:03 Uhr
New versions are released today and are working in non composer mode.
27. Mai 2019, 11:58 Uhr
Hallo liebes undkonsorten-Team,
habe diese wunderbare Extension unter TYPO3 8.7 zum Laufen gebracht. Ausfüllbares PDF funktioniert bestens mit Open-Office, von Acrobat DC rate ich ab, da es nur FPDF-Merge-Errors ausgibt, bei der Problematik corrupt xref Table hab ich Adobe dann in die Tonne gehaut.
Meine Frage ist ob nur Textfields verarbeitet werden? Die Problematik mit Checkboxen ist mir klar, aber wie sieht es mit Dropdowns und Radiobuttons aus und was muß ich dabei beachten? Habt ihr vielleicht ein Beispiel-TS mit Dropdowns?
liebe Grüße
Peter
2. Dezember 2019, 12:49 Uhr
Hallo Peter,
radioboxen gehen definitiv nicht mit fpdf.
Bei Dropdowns bin ich ehrlich gesagt überfragt. Das müsste ich testen. Den Fall hatten wir noch nicht.
Viele Grüße. Eike
3. Juli 2020, 13:25 Uhr
Hallo liebes Team,
eine Frage: wird die Extension für Powermail 7 weiterentwickelt oder kann ich den Hinweis von Typo3 ignorieren, dass diese nicht mit Powermail 7 kompatible ist.
Danke und lieben Gruß,
Anja