Hallo Community,
hallo DATEV-DMS-Team,
in der Lockdown- Zeit und wegen der deshalb per Videokonferenz und ausschließlich digital stattfindenden Bilanzbesprechungen etc. hat die rein elektronische Bearbeitung von Unterlagen ein viel größere Bedeutung gewonnen und die Nachfrage danach bei den Mandanten extrem beschleunigt.
Wir haben im o.a. Use-Case z.B. folgende Unterlagen als ausfüllbare Word-Formulare:
wenn diese Word-Formulare als pdf an die Mandanten per Mail weitergeleitet werden, sind die Ausfüllen-, Ankreuzfunktionen nicht mehr aktiv. Die Dokumente können nur per Hand ausgefüllt werden.
Gibt es dazu einen sinnvollen Workaround, wie ausfüllbare und elektronisch zu unterschreibende Formulare an den Mandant gesandt werden können.
Gelöst! Gehe zu Lösung.
Hallo Hr. Renz,
Word kann man nicht in eine PDF-Formular konvertieren. Dazu benötigen Sie ein Entwicklungstool wie z. B. den XChangeViewer. Hier können Sie auf einfachste Weise ein PDF-Formular erstellen.
Als einzige Lösung bliebe ansonsten nur, dass man sich ein Stempel im PDF-Programm erstellt. Das könnte z. B. ein X sein oder ein Hacken.
Die Stempel (aus XChange-Viewer) habe ich mir selbst erstellt und importiert. Damit kann ich auf einem PDF-Dokument Anmerkungen für Rückfragen oder PDF-Formulare ohne interaktive Formularfelder bearbeiten.
Gruß Achilleus
Stimmt so nicht ganz. Mit dem XChangeEditor (die Bezahlversion, die mehr kann) können wunderbar Formular-PDFs erzeugt werden. Kein Problem - wunderbar. Word kann auch Formular, wunderbar und vor Allem auch durch die Schriftguterstellung mit den Mandantendaten automatisch füllbar. Daraus mach Word oder der XChange Treiber ein schönes PDF, aber leider, leider kein PDF Formular.
Der umgekehrte Weg, also ein PDF Formular erstellen und von DATEV Schriftguterstellung befüllen lassen geht nicht. Und gar ein PDF Formular in DMS zu speichern bringt die verwendeten Viewer über ihre Grenzen.
Wie sagte Herr Blum so schön: "Immer im Silo bleiben", Kastendenken at it's best.
Na ja, wer erwartet denn von DATEV digital leadership wenn es nicht die eigene Lösung ist?
Hallo @einmalnoch,
das bringt mich wieder zu der Frage, warum DATEV nicht einmal ein paar Tausend € in die Hand nimmt und sich eine weltweit gültige Lizenz von XChange-Viewer (Developer-Editon) kauft um das DMS-System mit einer nativen PDF-Verwaltung auszurüsten. Der XChange-Viewer bietet doch sowas an und wäre ein echter Mehrwert der auch gerne vom Anwender bezahlt werden würde.
Und um PDF's zu erstellen kann man auch auf iText-Sharp zurückgreifen. Damit habe ich in meinen VBNet-Programmen (Freeware für Privat) auch schon PDF-Verwaltungstools erstellt. Sogar ganze PDF-Dokumente können on Fly erstellt werden.
Es geht alles, man muss es nur wollen.
Gruß Achilleus
Das brigt uns aber nicht einen Millimeter bei der Frage nach vorn, wie denn die Daten aus der ZMSD in das erzeugte PDF Formular kommen. Es gibt ja die Option, PDF-Forms mit einer Datenbank zu verbinden, das würde, wenn individuell gewünscht, ja auch funktionieren. Diese Lösung wäre nun nicht mehr in den Schriftguterstellungsworkflow eingebunden.
Es würde funktionieren, wenn DATEV ein ausfüllbares PDF als Vorlage zulassen und den Export ermöglichen würde. Wäre ein echter Gewinn, @Michael-Renz wird es nicht bekommen, die Entwicklerkapazitäten sind gerade mit der Mega App Klartax gebunden.
PDF-Formulare können sehrwohl interaktiv per VBNet ausgefüllt werden. Zum einen kann es der XChange-Viewer und auch iText.
https://itextpdf.com/en/resources/examples/itext-7/filling-out-forms
oder
Nachtrag:
Ich war mir sogar sicher, dass es mit PDFtk geht und siehe da:
https://stackoverflow.com/questions/9139787/how-to-fill-pdf-form-in-php
Nur DATEV kann oder will es nicht!
Gruß Achilleus
@Gelöschter Nutzer schrieb:
Nur DATEV kann oder will es nicht!
Gruß Achilleus
That's it!
Die Notwendigkeit ist ja auch erst 5 Jahre alt. @Michael-Renz da müssen Sie wohl noch weitere Jahre gedulden. Oder Klartax ruhen lassen um die verpennte Digitalisierung voranzutreiben.
https://archiv.datev-community.de/index.php?r=topic%2Fview&id=86672
27.05.2020 12:06 zuletzt bearbeitet am 15.07.2021 12:18 von Gelöschter Nutzer
@Gelöschter Nutzer schrieb:Hallo,
Ihren Verbesserungsvorschlag können Sie unter DATEV Ideas einreichen.
Was wollen Sie uns damit sagen?
@Gelöschter Nutzer ,
wie hoch schätzen Sie die Wahrscheinlichkeit, dass eine solche 'Idea' aufgenommen und umgesetzt wird ?
Ich selbst rechne hier mit einer schnöden
"Ablehnung mangels öffentlichen Interesses" oder so ähnlich ...
oder einen laaaang andauernden Status "offen", in der Hoffnung, dass Gras über das Thema wächst
... stimme aber gerne dafür.
Bei manchen Ideas reicht ja schon eine einzige Stimme 😁
Nachtrag:
... um die Wartezeit zu überbrücken, werde ich mal testen, über ob folgender 'Würg-Around' auch zu einem Ergebnis führt :
Um zu verhindern, dass es heisst - kein Interesse an ausfüllbaren pdf und pdf Bearbeitung im Allgemeinen:
Das man in der Datev Umgebung keine pdf bearbeiten und erstellen kann, ist inzwischen ein echtes Hemmnis!
So etwas ist unbedingt notwendig! Ich bin dafür.
Sehr geehrter Herr @Gelöschter Nutzer ,
ich hoffe, Sie nehmen es nicht persönlich - das ist nicht meine Absicht - aber:
Datev schafft es einfach nicht, aus den an sich guten DATEV-Ideas ein für die Kundeneinbindung sinnvolles Werkzeug zu machen. Was ich daran bemängele, habe ich schon x-Fach geschrieben und muss es daher hier nicht wiederholen.
Gerne dürfen sie diese hier geäußerte Anregung genauso ignorieren, wie das seit über 5 Jahren aus anderen Kanälen und in Ideas erfolgen würde. Meine Hoffnung, dass DATEV sich bewegt und den Mindset konkret ändert, gebe ich trotzdem nicht auf.
@vogtsburger schrieb:
Nachtrag:
... um die Wartezeit zu überbrücken, werde ich mal testen,
überob folgender 'Würg-Around' auch zu einem Ergebnis führt :
- Erstellung eines ausfüllbaren Formulars mit Word
- Füllen des Formulars mit Mandanten-Stammdaten per Datev-Schriftguterstellung
- Importieren des Word-Formulars in OpenOffice oder LibreOffice
- Exportieren als ausfüllbares PDF-Formular, zur weiteren Erfassung von Daten durch den Mandanten
Das ist dann nun aber echt "von hinten durch die Brust in's Auge".
Und das soll auch noch elegant erledigt werden?
Besser wäre es, wenn man aus Word per Makro eine Kopie der Word-Datei in OpenOffice/LibreOffice öffnen und aus Word OpenOffcie/LibreOffice fernsteuern würde. Ob das reibungslos funktioniert kann ich nicht beurteilten?
Gruß Achilleus
RPC Calls auf OpenOffice waren in der Vergangenheit grausam, ich nehme an, dass dies der Grund war, warum das Programm sich nicht so durchgesetzt hat. Schaue ich mir Lösungen wie Collabora oder OnlyOffice an könnte es in Zukunft gehen.
@Gelöschter Nutzer schrieb:Das ist dann nun aber echt "von hinten durch die Brust in's Auge".
... von Eleganz hatte hier auch niemand gesprochen, nur von einem "Würg-Around" 😁
Alles was Klimmzüge und Saltos mit dreifacher Schraube erfordert, ist zirkusreif.
Ich habe ein paar kurze Tests gemacht.
Technisch geht die Methode, aber es ist eher eine Beschäftigungstherapie anstatt einer Arbeitsvereinfachung.
@vogtsburger schrieb:
@Gelöschter Nutzer schrieb:Das ist dann nun aber echt "von hinten durch die Brust in's Auge".
... von Eleganz hatte hier auch niemand gesprochen, nur von einem "Würg-Around" 😁
Alles was Klimmzüge und Saltos mit dreifacher Schraube erfordert, ist zirkusreif.
Ich habe ein paar kurze Tests gemacht.
Technisch geht die Methode, aber es ist eher eine Beschäftigungstherapie anstatt einer Arbeitsvereinfachung.
Also in der Summe ein typisches DATEV Prozedere.
Wenn ich Lust hätte, dann würde ich das mal in VBNet mit IText-Sharp programmieren, aber dafür habe ich einfach nicht die Zeit, da ich zuviele andere Projekte habe.
Auf jeden Fall kann mit VBNet MS Office wunderbar fernsteuern (das kennt auch die DATEV; macht ja auch das Programm 1000mal am Tag) und iText-Sharp ist auch möglich.
Aber mir graust davor, was herauskommen würde, wenn DATEV es tatsächlich versuchen würde. Die kriegen nämlich nichts vernünftig gebacken. Wahrscheinlich wäre Ihre Methode dann sogar um den Faktor 10 schneller. 🤣
Gruß Achilleus
... ein Tool, das vorbereitete (und bereits mit einigen Stammdaten per "Datev-Schriftguterstellung" gefüllte) Word-Formulare in einer Stapelverarbeitung in ein oder zwei Schritten in ausfüllbare PDF-Formulare konvertieren könnte, wäre natürlich ideal.
Das Ausfüllen/Vervollständigen der Daten durch die Mandanten wäre dann schon eine schöne Verbesserung, das anschließende Herauslesen der Daten aus den PDF-Formularen dann natürlich das "Sahnehäubchen".
Vielleicht gibt es ja schon entsprechende Tools auf dem Markt.
Es muss ja nicht gleich das große und teure "Adobe Acrobat" sein.
... oder es findet sich jemand, z.B. ein griechischer Held 😉, der den Datev-Entwicklern mal zeigen will, dass man sowas sogar in Eigenregie programmieren kann.
@vogtsburger schrieb:
... ein Tool, das vorbereitete (und bereits mit einigen Stammdaten per "Datev-Schriftguterstellung" gefüllte) Word-Formulare in einer Stapelverarbeitung in ein oder zwei Schritten in ausfüllbare PDF-Formulare konvertieren könnte, wäre natürlich ideal.
Das Ausfüllen/Vervollständigen der Daten durch die Mandanten wäre dann schon eine schöne Verbesserung, das anschließende Herauslesen der Daten aus den PDF-Formularen dann natürlich das "Sahnehäubchen".
Vielleicht gibt es ja schon entsprechende Tools auf dem Markt.
Es muss ja nicht gleich das große und teure "Adobe Acrobat" sein.
... oder es findet sich jemand, z.B. ein griechischer Held 😉, der den Datev-Entwicklern mal zeigen will, dass man sowas sogar in Eigenregie programmieren kann.
Dann wäre am Ende ja ein Webfrontend die einfacherere Lösung. Einloggen, vorbereitetes Formular ausfüllen und unterschreiben - ach, so ein Mist, da war doch noch etwas. Also doch drucken und Handarbeit.
Oder Besser: WordFormular über Schriftguterstellung vorbereiten, in der NextCloud bereitstellen, Mandant loggt sich ein, und kann dank Collabora oder OnlyOffice das Formular komplett ausfüllen. Speichern und fertig. Bei Unterschriftserfordernis halt ausdrucken und scannen oder via Schneckenpost zurück in die Kanzlei.
Und das ohne Programmierung und RZ. OK, zu einfach für DATEV.
Edit: Das ist natürlich alles mit dem DMS verknüpft und als Revision gespeichert, incl. Hinweis an den Bearbeiter, dass die Änderung und durch wen erfolgte. Gibt's nicht? Doch, nur nicht bei DATEV.
@einmalnoch schrieb:...
Oder Besser: WordFormular über Schriftguterstellung vorbereiten, in der NextCloud bereitstellen, Mandant loggt sich ein, und kann dank Collabora oder OnlyOffice das Formular komplett ausfüllen. Speichern und fertig.
...
... für mich gilt im Moment das Motto (frei nach Sokrates):
"Ich weiß, dass ich nichts weiß, von Collabora, OnlyOffice und NextCloud"
... aber das muss sich schleunigst ändern
... klingt alles sehr interessant, was dort angeboten wird
@vogtsburger schrieb:
@einmalnoch schrieb:...
Oder Besser: WordFormular über Schriftguterstellung vorbereiten, in der NextCloud bereitstellen, Mandant loggt sich ein, und kann dank Collabora oder OnlyOffice das Formular komplett ausfüllen. Speichern und fertig.
...
... für mich gilt im Moment das Motto (frei nach Sokrates):
"Ich weiß, dass ich nichts weiß, von Collabora, OnlyOffice und NextCloud"
... aber das muss sich schleunigst ändern
... klingt alles sehr interessant, was dort angeboten wird
Da wird nichts angeboten, das ist OpenSource. Es gibt verschiedene Provider die Zugänge, dedizierte Server etc. anbieten. Eine NextCloud kann auch auf einem eigenen Server installiert werden.
Sehr geehrter Herr @Helmut_Lerm
vielen Dank für Ihre Nachricht, die ich hier als Antwort weitergebe. Ok - ich hab verstanden dass weder Microsoft noch Adobe diese Funktion eingebaut haben und deshalb DATEV da leider auch kein Feature bieten kann, das eine einfache Konvertierung ermöglicht.
Das ist natürlich ein schlagendes Argument und zeigt deutlich, dass wir alle noch wirklich weit weg von einer durchgängigen und medienbruchfreien Digitalisierung sind. Die Workflows müssen immer noch diversen Technikbrüchen Rechnung tragen - lässt sich wohl kurzfristig und mit Bordmitteln nicht beheben.
nachfolgender Text kam von Herrn Lerm_____
Sehr geehrter Herr Renz,
vielen Dank für Ihre Anfrage bzgl. ausfüllbaren Dokumenten.
Beide Dateiformate (Word und PDF) bieten die Möglichkeit ausfüllbare Dokumente zu gestalten. Leider sind diese beiden Umsetzungen nicht kompatibel zueinander.
Auch wenn Sie Ihr ausfüllbares Word-Dokument direkt aus Microsoft Word im PDF-Format speichern, wird daraus eine "einfache" PDF und die Felder werden leider nur als Text umgesetzt.
Damit Sie ein ausfüllbares PDF-Dokument erhalten, muss dieses direkt mit einer Anwendung als PDF erstellt werden.
Einen Artikel der dieses Thema beleuchtet, finden Sie hier:
Ich wünsche Ihnen ein schönes Pfingstwochenende.
Hallo Leute,
also mich hatte das Thema einfach nicht losgelassen und ich habe jetzt einmal in VBNet mein Programm um die Erstellung einer Einzugsermächtigung für das Finanzamt erweitert. Jetzt kann ich mit Daten aus meiner Datenbank per Mausklick eine Einzugsermächtigung für das Finanzamt erstellen.
Erstellt habe ich das ganze mit Itext und das hat insgesamt ca. 5 Stunden gedauert. Dabei hat die Onlinerecherche die meiste Zeit gekostet. Da ich die Schnittstellen global definiert habe, kann ich jetzt auf einfachste Art und Weise "sämtliche" PDF-Formulare interaktiv befüllen. Das könnte man noch über ein Datenbank mit allen PDF-Formularen machen. Das ist ein Fleißarbeit, aber relativ simpel machbar.
Nur zur Veranschaulichung wie "banal" das ist:
Public Enum PDF_FieldType
enFIELD_TYPE_ALLTYPES = -1
enFIELD_TYPE_NONE = 0
enFIELD_TYPE_PUSHBUTTON = 1
enFIELD_TYPE_CHECKBOX = 2
enFIELD_TYPE_RADIOBUTTON = 3
enFIELD_TYPE_TEXT = 4
enFIELD_TYPE_LIST = 5
enFIELD_TYPE_COMBO = 6
enFIELD_TYPE_SIGNATURE = 7
End Enum
' --------------------------------------------------------------------------------------------------------
' Code element name: ListFieldNames
' Code element kind: Function
' Parameters:
' FieldType (PDF_FieldType): Type von Formularfeldrn (Text, Checkbox etc.)
' Purpose: Auslesen aller Felder aus einem PDF-Formular
' --------------------------------------------------------------------------------------------------------
Public Function ListFieldNames(Optional FieldType As PDF_FieldType = PDF_FieldType.enFIELD_TYPE_ALLTYPES) As List(Of PdfField)
10: Dim TempFilename As String = Path.GetTempFileName()
20: Dim pdfReader As PdfReader = New PdfReader(PdfSource)
30: Dim stamper As PdfStamper = New PdfStamper(pdfReader, New FileStream(TempFilename, FileMode.Create), CChar(vbNullChar), True)
40: Dim fields As AcroFields = stamper.AcroFields
50: Dim pdfFormFields As AcroFields = pdfReader.AcroFields
60: Dim _FormFields As PdfField = Nothing
70: Dim _ListFields As New List(Of PdfField)
80: For Each kvp As KeyValuePair(Of String, AcroFields.Item) In fields.Fields
90: _FormFields.FieldName = kvp.Key.ToString
100: _FormFields.FieldValue = stamper.AcroFields.GetField(_FormFields.FieldName)
110: _FormFields.FieldType = stamper.AcroFields.GetFieldType(_FormFields.FieldName)
120: If FieldType >= 0 Then
130: If FieldType = AcroFields.FIELD_TYPE_TEXT Then
140: _ListFields.Add(_FormFields)
150: End If
160: Else
170: _ListFields.Add(_FormFields)
180: End If
190: Next
200: stamper.Close()
210: pdfReader.Close()
220: ListFieldNames = _ListFields
End Function
' --------------------------------------------------------------------------------------------------------
' Code element name: SetListFieldValue
' Code element kind: Sub
' Parameters:
' myList (List(Of EMA.PdfField)): List of mit allen Feldern (Type, Name, Value)
' sFieldName (String) : Name des Formularfeldes
' sFieldValue (String) : Wert des Formularfeldes
' Purpose: List of mit Feldnamen um Werte ergänzen
' --------------------------------------------------------------------------------------------------------
Public Sub SetListFieldValue(myList As List(Of PdfField), sFieldName As String, sFieldValue As String)
Dim _ListFields As PdfField = Nothing
For i As Integer = 0 To myList.Count
If myList(i).FieldName = sFieldName Then
_ListFields.FieldType = myList(i).FieldType
_ListFields.FieldValue = sFieldValue
_ListFields.FieldName = sFieldName
myList.RemoveAt(i)
myList.Add(_ListFields)
Exit For
End If
Next
End Sub
' --------------------------------------------------------------------------------------------------------
' Code element name: FillForm
' Code element kind: Function
' Parameters:
' ListFields (List(Of EMA.PdfField)): List of () mit Formularfeld-Namen und -Werten
' Purpose: neues PDF erstellen und befüllen
' --------------------------------------------------------------------------------------------------------
Public Function FillForm(ListFields As List(Of PdfField)) As Boolean
10: Dim pdfReader As New PdfReader(PdfSource)
20: Dim pdfStamper As New PdfStamper(pdfReader, New FileStream(PdfTarget, FileMode.Create))
30: Dim pdfFormFields As AcroFields = pdfStamper.AcroFields
40: Try
50: For i As Integer = 0 To ListFields.Count
60: If ListFields(i).FieldValue.Length > 0 Then
70: pdfFormFields.SetField(ListFields(i).FieldName, ListFields(i).FieldValue)
80: End If
90: Next
100: pdfStamper.FormFlattening = False
' close the pdf
110: pdfStamper.Close()
120: Return True
130: Catch ex As Exception
140: MsgBox("Fehlernr.: " & Err.Number & " (" & Err.Description & ") in Prozedur $P[CODE_ELEMENT_NAME] von Modul $P[PARENT_CODE_ELEMENT_FULL_NAME]", , "Fehler in Zeile: " & Erl())
150: Return False
160: Finally
' close the pdf
170: pdfStamper.Close()
180: End Try
End Function
Und befüllt wird das ganze wie folgt:
Private Sub ChkEinzug_CheckedChanged(sender As Object, e As EventArgs) Handles ChkEinzug.CheckedChanged
If blnNoRefresh = True Then Exit Sub
If ChkEinzug.CheckState = CheckState.Checked Then
If MsgBox("Möchten Sie das Formular Einzugsermächtigung erstellen?", MsgBoxStyle.Question + MsgBoxStyle.YesNo, "Einzugsermächtigung FA") = MsgBoxResult.Yes Then
TabUnterverzeichnis.SelectedIndex = 1 'Immer letztes Jahr auswählen
Dim listFields As List(Of PdfField) = Nothing
Dim BuBa As DataRow = GetFABundesland(TxtIDBundesland.Text)
Dim myPdf As New PDFTools
myPdf.PdfSource = "D:\Users\Büro\Documents\Jahresabschluss\[...]\Finanzamt\Einzugsermächtigung.pdf"
myPdf.PdfTarget = IO.Path.Combine(GetMdPfad(DataGridView1, TabUnterverzeichnis, False), "Einzugsermächtigung.pdf")
listFields = myPdf.ListFieldNames(PDF_FieldType.enFIELD_TYPE_TEXT)
myPdf.SetListFieldValue(listFields, "Name", txtVornameEM.Text & " " & txtNameEM.Text.ToString)
myPdf.SetListFieldValue(listFields, "Straße", txtStrasse.Text)
myPdf.SetListFieldValue(listFields, "PLZ", txtPLZ.Text)
myPdf.SetListFieldValue(listFields, "Ort", txtOrt.Text)
myPdf.SetListFieldValue(listFields, "IBAN", txtIBAN.Text.Replace(" ", ""))
myPdf.SetListFieldValue(listFields, "Name_Bank", txtBankname.Text)
myPdf.SetListFieldValue(listFields, "BIC", txtBIC.Text)
myPdf.SetListFieldValue(listFields, "Ort_2", txtOrt.Text)
myPdf.SetListFieldValue(listFields, "Datum", String.Concat(Now.Day.ToString("00"), Now.Month.ToString("00"), Now.Year.ToString("0000")))
myPdf.SetListFieldValue(listFields, "StNr", txtStNr.Text)
myPdf.SetListFieldValue(listFields, "FA_Name", txtFAName.Text)
myPdf.SetListFieldValue(listFields, "FA_Strasse", txtFAStr.Text)
myPdf.SetListFieldValue(listFields, "FA_Ort", String.Concat(txtFAPLZ.Text, " ", txtFAOrt.Text))
myPdf.SetListFieldValue(listFields, "Bundesland", BuBa.Item(1).ToString)
myPdf.SetListFieldValue(listFields, "GläubigerID", BuBa.Item(3).ToString)
myPdf.FillForm(listFields)
End If
End If
20: Dim foundRows() As Data.DataRow
Dim sSearch As String = "SEQ =" & "'" & _GetMdNr() & "'"
40: foundRows = myDataSet.Tables("MANDANT").Select(sSearch)
50: With foundRows(0)
60: .BeginEdit()
.Item("EinzugFA") = ChkEinzug.CheckState
80: .EndEdit()
90: End With
100: Dim strSQL As String = ""
120: strSQL = "Update Mandant Set EinzugFA = ? WHERE (MANDANT.SEQ=" & foundRows(0).Item("SEQ").ToString & ");"
myOleDbConnection.Open()
130: Dim cmd = New OleDbCommand(strSQL, myOleDbConnection)
'Eigene Tabelle
140: With cmd.Parameters
.Add("@EinzugFA", OleDbType.Boolean).Value = foundRows(0).Item("EinzugFA")
160: End With
70: cmd.ExecuteNonQuery()
myOleDbConnection.Close()
End Sub
Man könnte jetzt noch die "ListFieldNames" noch um eine Funktion erweitern, dass sämtliche Formularfelder in einer Datenbank gespeichert werden, damit man die Formulare nicht jedesmal auslesen muss:
<Database>
[tblFormField]
[ID]=Index
[FormName]=Name der Pdf-Datei (oder als Fremdkey)
[FieldName]=Name des Formularfeldes
[FieldType]=Type des Formularfeldes (String, Checkbox etc.)
ID | FormName | FieldName | FieldTyp
1 | my.Pdf | MdName | 4 (Text)
Fazit:
Es ist echt traurig und eine echte schande das DATEV das nicht selber hinbekommt.
Das ganze ist wie gesagt auch lösbar mit einer sog. fdf-Datei (enhält die Formularnamen und Werte). Diese fdf-Datei könnte man auch selbst z. B. über Excel beschreiben und als Basis mit Pdftk verwenden.
<Auszug: Einzugsermächtigung.fdf>
'Einfach Export Formulardaten
%FDF-1.4
%âãÏÓ
1 0 obj
<<
/FDF <<
/F (Einzugsermächtigung.pdf)
/ID [(²³þuÅN’Lí]æ†) (53”¥KxBµÍyÞHKt)]
/UF (Einzugsermächtigung.pdf)
/Type /Catalog
/Fields [<<
/T (Name)
/V (@MdName@)
>> <<
/T (Straße)
/V (@MdStrasse@)
>> <<
/T (PLZ)
/V (@MdPlz@)
</Einzugsermächtigung.pdf>
Die fdf-Datei kann in jedem Editor geöffnet und beareitet werden. Die Dummywerte @MdName@ kann man jetzt einfach z. B. mit VB(A) durch Replace ersetzten und wieder alles als fdf-Datei speichern. Alles einfach zu machen mit Pdftk
'create fdf
pdftk form.pdf generate_fdf output data.fdf
'fill form
pdftk form.pdf fill_form data.fdf output form_with_data.pdf
'[ flatten ]
'Use this option to merge an input PDF’s interactive form fields
'(and their 'data) with the PDF’s pages. Only one input PDF can
'be given. Sometimes used with the fill_form operation.
Falls einer mehr Interesse hat, kann sich ja melden.
Ich wollte einfach nur aufzeigen, wie einfach alles sein kann.
Gruß Achilleus
... na, na, na ...
solche Quelltexte sind sogar harte Kost für Leute, die irgendwann einmal mit irgendeiner anderen Programmiersprache zu tun hatten
... und völlig unverdauliche 'Nahrung', wenn man das Wort 'programmieren' nur vom Einstellen des Weckers kennt 😀
... ich werde Ihren Quelltext mal testen, habe auch PDFTK schon länger im Einsatz, aber alles zu verstehen, wäre zuviel verlangt, jedenfalls von mir. Ich habe solche Dinge schon längst verlernt (durch automatisches "Unlearning")
@Gelöschter Nutzer , Respekt ! *** verneig ***