Nicht-grafischer PDF-Formular-Designer (AcroForms)

Ich suche nach einem Tool, um ausfüllbare PDF-Formulare zu erstellen, die die Übermittlung über HTTPS* beinhalten.

Ich hatte mit InkScape begonnen, aber es ist sehr visuell und ich mache mir Sorgen über die Verwaltung von Versionen oder das Vornehmen von Änderungen, die für jede Bearbeitung viel manuelle Nacharbeit erfordern würden (z. B. das Hinzufügen einer neuen Zeile).

Ich weiß, wenn Sie XFA verwenden, können Sie dies auf XML-basierte Weise tun, aber es gibt keine breite Unterstützung für XFA-Formulare.

Ich schaue mir Bibliotheken wie iText und TCPDF an . Aber es gibt viel Overhead, um die Formulare zu erstellen und die Programmierung mit der Anzeige zu mischen.

Idealerweise möchte ich das Design/Template des PDF-Formulars beschreiben und dann die Formularelemente in irgendeiner Art von XML/JSON beschreiben lassen, das Programm fügt diese dann zusammen (MVC-Stil). Die Formulare müssen nicht in Echtzeit erstellt werden, daher ist ein reines Desktop-Tool in Ordnung.

Idealerweise könnte ich eine Formularvorlage definieren, die maximal 5 Spalten, Feldname innerhalb des Felds, Standardschriftart ist Times New Roman usw. enthält. Dann kann ich Zeilen und Felder in einer Reihe definieren - Feldattribute, maximale Länge, Dateiname angeben , usw.

Es sollte möglich sein, dies mit iText oder TCPDF zu tun, aber das klingt, als ob es das Rad neu erfinden sollte.

Ich bevorzuge Open Source, würde aber Dinge bis zu 100 US-Dollar in Betracht ziehen, die eine Demo hätten, die ich zuerst ausprobieren könnte.

Bearbeiten:

*Innerhalb der PDF-Spezifikation besteht die Möglichkeit, ein Formular zu erstellen und es über HTTP aus dem PDF heraus direkt an einen Server zu senden. dh ich möchte E-Mail- oder Webformulare vermeiden, um die Daten an den Server zurückzusenden. Das Zieltool muss in der Lage sein, die Formularübermittlungsteile zu erstellen, ohne dass ich es manuell einhacken oder in einem anderen Prozess ausführen muss.

Was hat HTTPS damit zu tun? Ein PDF befindet sich auf dem Computer des Benutzers, auch wenn es ihm in einem Browser gesendet wird.
HTTP-Formularübermittlung aus der PDF-Datei heraus: acrobatusers.com/tutorials/form-submit-e-mail-demystified

Antworten (3)

Python hat Report Lab sowohl als kostenlose Pakete als auch als kommerzielles Angebot (und hat eine kostenlose Testversion des kommerziellen Angebots), mit dem Sie fast jedes PDF-Dokument einschließlich Formulare erstellen können (besser noch, mit dem kommerziellen System können Sie Formulare erstellen, die dies können als html ausgefüllt und als pdf gespeichert/übermittelt werden).

Während die Open-Source-Version härter arbeitet, liegt die kommerzielle Version außerhalb Ihres Budgets.

Auf den ersten Blick könnte RML gut passen, aber die Kosten für das Commercial sind hoch (ich würde Zehntausende generieren, nicht Tausende. Ich bin sprachagnostisch, also könnte alles andere in der Nähe funktionieren.
pypi.python.org/pypi/w20e.forms#beyond-the-basics erwähnt zwar das Generieren eines PDF-Formulars, gibt aber kein Beispiel.

Was Sie sich ansehen könnten, ist, wie OpenOffice-Dateien erstellt / geändert werden (die, soweit ich weiß, Bundles von XML-Dateien sind). Rendern Sie dann diese modifizierten Dateien im OpenOffice Forms-Tool und exportieren Sie sie als PDF.

Sie benötigen jedoch weiterhin Acrobat zum ernsthaften Testen und Debuggen.

Und Sie müssen noch einiges über PDF wissen (zu finden in ISO 32000 und/oder der Dokumentation des Acrobat SDK).

Wahrscheinlich können Sie LaTeX wie in dieser TeX.SE-Fragehyperref beschrieben verwenden . Da die LaTeX-Quelle nur Text ist, können Sie sie per VCS bearbeiten und fast beliebige Ebenen von Skripten und Mustervergleichen verwenden.