PDF-Datei automatisch ausfüllen

Gast #4500830
Lesenswert?
• ▲
▼
ich arbeite mit vb-net und habe damit u.a. eine Adressdatenbank als 
txt-Datei angelegt, mit der ich word.docs automatisch generieren kann. 
Das ganze geht im Wesentlichen mit
"Imports Microsoft.Office.Interop"
Man kann dann über vb-net auf word zugreifen.

Nun brauche ich das gleiche für PDF-Ausfüllformulare. Es geht also 
darum, in PDF-Formulardateien Datensätze aus dem txt-file einzulesen. 
Ich arbeite mit PDF-Viewer. Adobe will ich wegen der nervigen Werbung 
möglichst nicht einsetzen.

Gibt es eine Möglichkeit, aus VB-net auf PDF-Dateien zuzugreifen? 
Hilfreich wäre auch ein PDF-Programm mit Makro-Unterstützung.

Bin für jede Hilfe dankbar...
Gast #4501398
Lesenswert?
• ▲
▼
Es geht um Formularfelder im PDF, korrekt?

Für diese gibt es ein eigenes Dateiformat, "(X)FDF", das nur die reinen 
Formulardaten enthält.

Das (X)FDF-File kannst du auch mit VB schreiben (ist mehr oder weniger 
ein Textformat oder XML), und dann per externem Tool oder Library die 
FDF-Daten in die PDF-Forlage einzusetzen.

Glücklicherweise gibt es zu pdftk, was ich für sowas einsetzen würde, 
auch VB-Bindings, damit wird's zum Dreizeiler:

https://www.pdftron.com/pdfnet/samplecode/FDFTest.vb.html
Gast #4501579
Lesenswert?
• ▲
▼
?!? schrieb:
> Und wo ist jetzt das richtige Beispiel, der Dreizeiler?

der Dreizeiler war in dem verlinkten Beispiel drinnen. Dafür musst du 
aber wohl Geld auf den Tisch legen.
1
 Using doc As PDFDoc = New PDFDoc("INPUT.pdf")
2
 doc.FDFMerge(... FDF-Daten)
3
 doc.Save("OUTPUT.pdf")


Mit PDFtk ("server version" für windows herunterladen) hast du eine 
GPL-Lösung.
https://www.pdflabs.com/tools/pdftk-server/

Keine Sorge, der GPL-Code ist in einem gesonderten Binary, du musst 
deinen Quelltext nicht rausrücken. Nur evtl. einen kleinen Hinweis auf 
PDFtk in deiner "about"-Box unterbringen, und der Installer muss halt 
die GPL als Text-Dokument mit installieren.

Im Programm musst du dein (X)FDF-File schreiben, und pdftk.exe mit 
"fill-form"-Parameter ausführen.
https://www.pdflabs.com/docs/pdftk-man-page/#dest-op-fill-form
Gast #4501596
Lesenswert?
• ▲
▼
1.) vb-->fdf, fdf-importieren in dein PDF Programm (von Hand).
2.) vb-->bat(mit fdf)-->PDF Programm-->bat löschen. (dein PDF Programm 
soll die Komandozeile unterstützen)
3.) vb-->bat(mit JavaScript)-->PDF Programm-->bat löschen. (dein PDF 
Programm soll die Komandozeile unterstützen)

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren