TYPO3-Extension: Powermail-Formular to PDF

Unsere TYPO3-Extension powermailpdf ermöglicht es, nach dem Ausfüllen eines Powermail-Formulars die Inhalte in ein PDF-Datei zu rendern und dann zu versenden oder herunterzuladen.

Stand 2021-03-06

Wow - fast genau 9 Jahre nach der ersten Veröffentlichung läuft PowermailPdf nun mit der aktuellen Version von Powermail und der TYPO3-Version 10.4. Danke an Sibylle für den Merge Request. Wir haben wieder eine Testumgebung aufgebaut und die neue Version ins TYPO3-Extension-Repository hochgeladen. Die Dokumentation gibt es bei TYPO3 Docs und GitHub. Wir freuen uns auf Eure Mitarbeit.


Stand 2013-03-05:

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.

Mitmachen

Wer die Extension verbessern will, ist gerne eingeladen, via GitHub Verbesserungen einzureichen.

Weiterlesen

Artikel TYPO3: Extbase-Extensions erweitern mit Signal/Slots


Kommentare

Das ist ein tolles Tool - aber wie sieht es denn mit der TYPO3 11.4. Kompatibilität aus ?

Die Formularfelder sind leer, erst wenn man in das Feld hineinklickt erscheint der übernommene Inhalt. Verschwindet aber wieder wenn man in ein anderes Feld klickt. Das mit pdftk xxxx.pdf output xxxx2.pdf habe ich gemacht.

Bitte den Ordner in dem definierten Storage anlegen. Standardmäßig ist das fileadmin.

Ja wir bieten Support an. Die Felder kannst Du frei benennen, Du musst sie nur im Typoscript dann auch so benennen.

Mit typo3 10.4.21, powermailpdf 3.01 und powermail 8.4.1 erhalte ich

(1/1) #1314516810 TYPO3\CMS\Core\Resource\Exception\FolderDoesNotExistException

Folder "/powermailpdf/" does not exist.

Hallo undkonsorten Team,

in meinem Projekt wird das PDF einfach nicht ausgefüllt. Ich habe auch den Tipp von Peter befolgt und OpenOffice ins Spiel gebracht. Ich denke, dass die Felder einfach nicht zusammen passen. Wie kann ich herausfinden, wie ich sie benennen muss? Bietet ihr Support an?

Danke für eine Rückmeldung

Diana

Hey liebes undkonsorten Team,

die Ext. funktioniert wunderbar. Und mit dem Tipp von Peter, https://blog.undkonsorten.com/eigene-extension-vorgestellt-powermailpdf#comment-530409, wird nun auch endlich das Formular ausgefüllt, generiert und gesendet. DANKE für den Tipp, auch wenn ich ein aufwendiges Formular umbauen muss :-()

Hallo,

am besten einmal in den Development Context wechseln und dann die Fehlermeldung nochmal schicken.

Mit "Oops, an error occurred! Code: 2….." kann ich leider nichts anfangen ;-)

Hallo,

ich habe die Powermail-Extension 8.3.2 und die PowermailPDF-Extension 3.0.1 unter Typo3 10.4.9 installiert, ich habe dann nur folgendes gesetzt

plugin.tx_powermailpdf.settings.enablePowermailPdf = 1

plugin.tx_powermailpdf.settings.fieldMap {

PDFVorname= vorname

PDFName= nachname

}

allerdings klappt das nicht ich bekomme immer eine Fehlermeldung

Oops, an error occurred! Code: 2.....

Hallo Anja.

Ich habe heute eine neue Version für powermail 8 und TYPO3 10.4 raus gebracht und den Support für ältere Versionen eingestellt.

Solle es starkes Interesse an Support für powermail 7 geben könnte ich nochmal schauen.

Das Problem dabei ist, das es 3 Major Versionen für powermail gibt die sowohl unter TYPO3 8 als auch unter TYPO3 9 laufen, das würde eine Testmatrix mit 6 Fällen ergeben und den Aufwand wollte ich mir einfach nicht machen.

Es kann aber gut sein das die Extension mit powermail 7 läuft unter TYPO3 8 oder 9. Gerne testen.

Hallo Dirk,

ja die wird es geben. Heute ist es soweit :-). Die Neue Version unterstützt nur powermail 8 und TYPO3 10.4.

https://github.com/undkonsorten/powermailpdf/releases/tag/3.0.0

Hallo Zusammmen, wird es eine Version für TYPO3 10 und dem neuen Powermail geben?

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

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

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

New versions are released today and are working in non composer mode.

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

}

}

}

}

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

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!

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

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.

I get: Class 'FPDM' not found. What do I have to do to solve this?

Regards

Tomas

Hallo,

Dazu https://docs.typo3.org/typo3cms/extensions/powermailpdf/Administration/Index.html

Mit der neusten Version kannst du auch {downloadLink} benutzen.

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

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

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.

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

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

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

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.

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?

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

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.

Ja das würde mit pdftk gehen, aber das ist noch nicht komplett fertig programmiert.

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?

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.

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

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.

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

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

Hi,

1.) Das hier stimmt nicht ganz

http://docs.typo3.org/typo3cms/extensions/powermailpdf/UsersManual/Index.html

plugin.powermailpdf.settings.enablePowermailPdf = 1 =&gt; plugin.powermail.settings.enablePowermailPdf = 1

2.) Das Beispiel hier enthält Fehler

- plugin.tx\_powermailpdf { =&gt; plugin.tx_powermailpdf { (Backslash)

- sourceFile = fieldMap{ =&gt; 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

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

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

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

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

...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(

Hy!

Tatsächlich keine Anzeige der Feldinhalte im PDF auf iOS-Geräten.

Liegt das evtl. am Libre Office Writer?! ... schwierig ...

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.

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 -&gt; PDF-Export).

LG

Bin nicht sicher ob es daran liegt, aber die Variable ist nicht CamelCase.

So müsste es sein:

sourceFile = fileadmin/sample.pdf

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!

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

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


Kommentar schreiben

* Diese Felder sind erforderlich