19 Stimmen

Erstellung von PDF-Rechnungen - Gibt es Lösungen für Vorlagen?

Unser Unternehmen möchte Rechnungen in ein neues System integrieren, das wir gerade entwickeln.

Wir benötigen eine Lösung zur Erstellung eines Rechnungslayouts und zur anschließenden Konvertierung in das PDF-Format.

Wir haben in Erwägung gezogen, die Rechnung einfach in html/css zu gestalten und dann in pdf zu konvertieren. Wir haben auch überlegt, SVG->PDf-Konvertierung zu verwenden.

Beide Lösungen lassen sich gut in unsere bestehende Templating-Sprache für unsere Webanwendung integrieren.

Bisher waren wir ein Microsoft-basiertes Unternehmen und haben Crystal Reports für eine solche Aufgabe verwendet, aber wir suchen nach einer Open-Source-Linux-Lösung für dieses Projekt.

Hat jemand einen Vorschlag für einen Ansatz oder eine Technologie, die wir für eine solche Aufgabe verwenden könnten?

2voto

joel.neely Punkte 30189

Das hängt von Ihrer Umgebung ab. Wenn Sie Zugang zu Java haben, können Sie sich iText ansehen ( http://www.lowagie.com/iText/ ), eine Bibliothek, mit der Sie PDF-Dateien im Handumdrehen erzeugen können.

2voto

Anna Punkte 1481

2voto

pencilslate Punkte 12598

Es gibt zwei Schritte, wenn ich das richtig verstanden habe:
1) Erstellung einer PDF-Vorlage mit Platzhaltern zum programmgesteuerten Ausfüllen von Daten
2) Programmgesteuertes Auffüllen der PDF-Vorlage während der Laufzeit

Für die Nummer 1 ermöglicht OpenOffice die Erstellung von PDF-Vorlagen, die dann programmgesteuert ausgefüllt werden können. Das ist gut genug, um einfache Rechnungen zu erstellen, die wahrscheinlich keine Datentabellen beinhalten.

Für #2 haben Sie bereits die Antworten hier - iText, iTextSharp.

Ich hoffe, das hilft!

0 Stimmen

Ich verwende derzeit Open Office, um die ursprünglichen PDF-Vorlagen zu erstellen, und verwende dann iTextSharp, um programmatisch Daten in die Formularfelder einzufügen. Ich habe den Rand der Felder so eingestellt, dass er nicht sichtbar ist, so dass die Benutzer nicht erkennen können, dass es sich um ein Textfeld handelt!

2voto

Die wahrscheinlich flexibelste Lösung ist es, XML-Dateien mit Rechnungsdaten zu erstellen und diese dann mit Hilfe von XSLTs in PDFs, HTMls, was auch immer umzuwandeln...

1 Stimmen

Es ist nicht einfach, mit xslt (und xsl-fo) eine präzise Formatierung zu erreichen.

1voto

Brian Punkte 1353

Sie können auch versuchen, XSL:FO zu verwenden. XSL:FO ist ein dokumentierter Standard für die Beschreibung des Seitenlayouts: http://www.w3.org/TR/xsl/#fo-section .

Ich hatte bei zwei Projekten Erfolg bei der Erstellung von Dokumenten, indem ich ein XML-Schema erstellt habe, das den Inhalt des "PDF" definiert. Anschließend verwende ich das XSD-Tool (von Microsoft), um eine Klasse zu erzeugen, die dieses Dokument darstellt. Anschließend ordne ich meine Daten dieser Struktur zu, serialisiere die ausgefüllte Klasse in XML zusammen mit einem XSL-Stylesheet, das definiert, wie diese Daten in FO umgewandelt werden sollen, und übergebe sie an einen FO-Formatierer. Als Formatierer habe ich Xml2Pdf von Alt-Soft mit Erfolg verwendet. Es gibt noch ein paar andere. Es gibt einige Tools, die bei der Erstellung des XSL-zu-FO-Stylesheets helfen (z. B. Stylusstudio und XmlSpy), aber ich empfehle, die FO-Konstrukte zu lernen, da die Tools anscheinend aufgeblähte Stylesheets erzeugen. FO ist vergleichbar mit HTML (wobei ein P-Tag in FO ein BLOCK-Tag ist), kann aber knifflig sein. Das Schöne an FO ist, dass einige Formatierer die Konvertierung in andere Formate, wie Word, HTML usw., unterstützen.

Andere Optionen:

  1. iTextSharp (C#-Portierung von iText). Ich habe gerade angefangen, darüber zu lesen. Open Source und kostenlos. Ich glaube nicht, es gibt keine "Templating" mit diesem unterstützt, aber ich könnte falsch sein über das.

  2. SQL Server-Berichtsdienste. Vorausgesetzt, Ihre Rechnungsdaten liegen in einem Format vor oder können in ein Format gebracht werden, das von den Berichtsdiensten (SQL Server, Web Service usw.) gelesen werden kann, definieren Sie das Layout in SSRS und veröffentlichen es dann auf dem Berichtsserver. Verwenden Sie die SSRS-Webdienste oder die Ausführung von Abfrageparametern, um den Bericht auszuführen und als PDF-Datei ausgeben zu lassen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X