VecVi - Dokumentenerstellung und -ausgabe mit VectorDrawing
Verfasst: 22.11.2017 18:37
Hallo zusammen,
dieses Modul habe ich als Include für ein anderes Projekt begonnen. Dort ist es häufig nötig, Dokumente zu erstellen und als PDF zu speichern bzw. zu drucken. Bisher habe ich dafür PurePDF genutzt und mir noch einen Wrapper mit einigen Funktionen drumherumgebastelt, die mir gefehlt haben. Vor ein paar Wochen war ich dann an dem Punkt angelangt, an dem ich PurePDF nicht mehr so einfach für meine Bedürfnisse anpassen konnte, außerdem wollte ich eine Art Druckvorschau haben und die VectorDrawing Bibliothek mal ausprobieren.
Herausgekommen ist also VecVi (VectorView). Bei der Erstellung und der Arbeitsweise habe ich mich an PurePDF orientiert. Funktionen:
Beispiel: https://raw.githubusercontent.com/hgzh/ ... preview.pb
Schönen Abend noch!
dieses Modul habe ich als Include für ein anderes Projekt begonnen. Dort ist es häufig nötig, Dokumente zu erstellen und als PDF zu speichern bzw. zu drucken. Bisher habe ich dafür PurePDF genutzt und mir noch einen Wrapper mit einigen Funktionen drumherumgebastelt, die mir gefehlt haben. Vor ein paar Wochen war ich dann an dem Punkt angelangt, an dem ich PurePDF nicht mehr so einfach für meine Bedürfnisse anpassen konnte, außerdem wollte ich eine Art Druckvorschau haben und die VectorDrawing Bibliothek mal ausprobieren.
Herausgekommen ist also VecVi (VectorView). Bei der Erstellung und der Arbeitsweise habe ich mich an PurePDF orientiert. Funktionen:
- einmalige Definition eines Dokuments und dann wahlweise Ausgabe auf CanvasGadget, Image, Window, Drucker, SVG oder PDF
- Text- und Bildzellen mit variablem Rahmen, Füllung, Textausrichtung, Schriftart etc.
- horizontale, vertikale und freie Linien
- Rechtecke, Ellipsen, Ellipsensegmente (für Diagramme) und Bézier-Kurven
- automatisch eingefügte und wahlweise pro Seite anpassbare Kopf- und Fußbereiche
- automatische Seitenumbrüche
- Vermeidung von Seitenumbrüchen innerhalb zusammengehörender Blöcke
- automatische Seitennummerierung mit freiem Startwert, Ausschluss einzelner Seiten aus der Nummerierung, Ermittlung der Gesamtseitenzahl
- Anzeige im CanvasGadget wahlweise als Einzelseiten oder mit Scrollmöglichkeit (siehe Beispielcode)
Beispiel: https://raw.githubusercontent.com/hgzh/ ... preview.pb
Schönen Abend noch!