1. Produkte
  2.   Textverarbeitung
  3.   C++
  4.   DocxFactory
 
  

Kostenlose C++‑API zum Erstellen vorlagenbasierter Word DOCX‑Dateien

Eine führende Open-Source, kostenlose C++-Textverarbeitungsbibliothek ermöglicht das programmgesteuerte Erstellen, Bearbeiten, Zusammenführen und Konvertieren von Word DOCX-Dateien. Fügen Sie Barcodes, Diagramme, Text, Bilder hinzu und wenden Sie Formatierungen an.

Was ist DocxFactory?

DocxFactory ist eine leistungsstarke, plattformübergreifende Open-Source-C++-Bibliothek, die für die Erzeugung von Microsoft Word DOCX-Dateien (OpenXML-Format) über vorlagenbasierte Dokumenterstellung konzipiert ist. Diese kostenlose Bibliothek kommt mit Wrappers für mehrere Programmiersprachen, darunter C#, Java, Python und Progress 4GL, sowie mit Kommandozeilenwerkzeugen. Was DocxFactory auszeichnet, ist sein vorlagenbasierter Ansatz, der die Notwendigkeit eliminiert, dass Entwickler das komplexe OpenXML-Dateiformat verstehen müssen. Die Bibliothek unterstützt verschiedene wichtige Textverarbeitungsfunktionen, wie vorlagenbasierte Dokumenterstellung, Einfügen/Entfernen von Absätzen oder Bildern, Textformatierung, Arbeiten mit Tabellen, Zusammenführen oder Aufteilen von Zellen, Listenverwaltung, Mehrsprachunterstützung, umfangreiche Barcode‑Unterstützung, Unterstützung mehrerer Ausgabeformate und so weiter.

DocxFactory ist eine ausgereifte, kostenlose, plattformübergreifende C/C++-Bibliothek (mit mehrsprachigen Wrappers), die die Arbeit mit Microsoft Word .docx-Dateien vereinfacht. Die Bibliothek ist plattformübergreifend und funktioniert reibungslos auf den wichtigsten Betriebssystemen (Windows, UNIX/Linux) – was Flexibilität für den Einsatz auf Servern, Desktops oder eingebetteten Systemen bietet. Die Bibliothek ist unter der Apache 2.0-Lizenz lizenziert, wodurch sie sowohl für private als auch kommerzielle Nutzung völlig kostenlos ist, ohne Funktionsbeschränkungen oder Zeitlimits. Egal, ob Sie Unternehmens‑Reporting‑Systeme, automatisierte Dokument‑Workflows oder einfache Serienbrief‑Anwendungen bauen, DocxFactory stellt die Werkzeuge bereit, die nötig sind, um professionelle Dokumente effizient zu erzeugen.

Previous Next

Erste Schritte mit DocxFactory

Der empfohlene Weg, DocxFactory zu installieren, ist über GitHub. Bitte verwenden Sie den folgenden Befehl für eine reibungslose Installation.

DocxFactory via GitHub installieren

git clone https://github.com/DocxFactory/DocxFactory.git  
You can also download it directly from Aspose product page.

Vorlagenbasierte Dokumenterstellung via C++

Die Kernphilosophie von DocxFactory dreht sich um Einfachheit. Anstatt Dokumente programmgesteuert Element für Element zu konstruieren, erstellen Sie eine Vorlage in Microsoft Word – eine reguläre DOCX-Datei mit Platzhaltern – und fügen Ihre Daten ein. Dieser Ansatz bietet mehrere Vorteile, wie schnelleres Entwickeln, WYSIWYG‑Bearbeitung usw. Hier ist ein nützliches Beispiel, das zeigt, wie man neue Word-Dokumente aus einer Vorlage mit der C++-Bibliothek erzeugt.

Wie erstellt man ein neues Dokument aus einer Vorlage über die C++‑Bibliothek?

#include "DocxFactory/DocxMerger/DocxMerger.h"
#include "DocxFactory/DocxMerger/DocxMergerItem.h"

// Create a new document from template
DocxFactory::DocxMerger docxMerger;
DocxFactory::DocxMergerItem* item = docxMerger.load("template.docx");

// Set field values
item->setFieldValue("customer.name", "John Smith");
item->setFieldValue("invoice.date", "2024-01-15");
item->setFieldValue("invoice.total", 1250.75);

// Save generated document
docxMerger.save("generated_invoice.docx");

Umfassende Barcode-Unterstützung in DOCX

Die Open-Source-Bibliothek DocxFactory unterstützt ein umfangreiches Spektrum an 1D‑ und 2D‑Barcodes, einschließlich Code39, Code128, EAN, UPC, ISBN, Databar, Postleitzahlen, PDF417, Data Matrix, QR‑Code und Maxi‑Code. Barcodes werden als Felder in Vorlagen eingefügt und basierend auf den bereitgestellten Daten automatisch gerendert. Dies macht sie ideal für Bestandsverwaltungssysteme, Versand‑ und Logistikanwendungen, Produktkennzeichnungslösungen, Dokumentnachverfolgungssysteme, Einzelhandels‑Point‑of‑Sale‑Integration usw.

Diagramme zu Word-Dateien hinzufügen & verwalten via C++

Die DocxFactory-Bibliothek kann Diagrammdaten dynamisch befüllen, sodass Sie datengetriebene Visualisierungen erstellen können. In Ihrer Vorlage definierte Diagramme können programmgesteuert aktualisiert werden, was die Erstellung von Management‑Dashboards und Analyseberichten ermöglicht. Die Bibliothek unterstützt eine vollständige Liste von über 70 Diagrammtypen, die in Microsoft Word verfügbar sind, darunter Säulen-, Linien-, Kreis-, Balken-, Flächen-, Streu‑, Aktien‑, Oberflächen-, Donut‑, Blasen‑ und Radar‑Diagramme usw. Diese Funktion ermöglicht dynamische Finanzberichte mit Echtzeit‑Datenvisualisierung, statistische Analysedokumente, Business‑Intelligence‑Dashboards, wissenschaftliche Forschungsberichte, Leistungs‑Tracking‑Dokumentationen usw.

Erweiterte Formatierung und Gestaltung in DOCX‑Dateien

Die Open-Source-Bibliothek DocxFactory bewahrt die native Formatierung von Word, während sie dynamisch Stile in C++‑Anwendungen anpasst. Die Bibliothek unterstützt verschiedene Formatierungsfunktionen wie Schriftstil, -größe und -farbe, Absatzausrichtung und -abstand, Tabellen mit benutzerdefinierten Rändern, Kopf‑ und Fußzeilen, Seitenzahlen und Abschnittswechsel, benutzerdefinierte Stile & Designs usw. Das erzeugte Dokument bewahrt sämtliche Formatierungen der Vorlage, was ein konsistentes Branding und ein professionelles Erscheinungsbild sicherstellt. Das folgende Code‑Beispiel zeigt, wie Entwickler bedingte Formatierungen basierend auf Daten in C++‑Apps anwenden können.

Wie wendet man erweiterte Formatierung und Gestaltung in Word-Dokumenten über die C++‑Bibliothek an?



// Advanced Conditional formatting based on data

item->setFieldValue("status.text", "OVERDUE");
item->setFieldValue("status.color", "#FF0000"); // Red color for overdue

// Dynamic table row formatting
for (size_t i = 0; i < invoiceItems.size(); i++) {
    if (i % 2 == 0) {
        item->setFieldValue("items.rowColor", "#F5F5F5");
    }
}
 Deutsch