Übersicht über den Document Builder
DocumentBuilder ist eine leistungsstarke Klasse, die mit Document verknüpft ist und es Ihnen ermöglicht, dynamische Dokumente von Grund auf zu erstellen oder neue Elemente zu einem vorhandenen hinzuzufügen.
DocumentBuilder bietet Methoden zum Einfügen von Text, Kontrollkästchen, Ole-Objekten, Absätzen, Listen, Tabellen, Bildern und anderen Inhaltselementen. Sie können damit Schriftarten, Absatz- oder Abschnittsformatierungen festlegen und andere Vorgänge ausführen.
Document Builder oder Aspose.Words DOM
DocumentBuilder ergänzt die im Aspose.Words Document Object Model (DOM) verfügbaren Klassen und Methoden, um die gängigsten Dokumenterstellungsaufgaben zu vereinfachen. Das heißt, Sie können den Inhalt von Dokumenten sowohl über Aspose.Words DOM, was ein gutes Verständnis der Baumstruktur erfordert, als auch über den DocumentBuilder erstellen und ändern. Das DocumentBuilder
ist eine “Fassade” für die komplexe Document-Struktur, die es Ihnen ermöglicht, schnell und einfach Inhalte und Formatierungen einzufügen.
Operationen, die mit DocumentBuilder möglich sind, sind auch bei direkter Verwendung der Klassen des Aspose.Words-DOM möglich. Die direkte Verwendung von Aspose.Words-DOM-Klassen erfordert jedoch normalerweise mehr Codezeilen als die Verwendung von DocumentBuilder.
Dokumentennavigation
Die Dokumentnavigation basiert auf dem Konzept eines virtuellen Cursors, mit dem Sie mithilfe verschiedener DocumentBuilder.move_to_XXX-Methoden wie move_to_document_start und move_to_field an eine andere Stelle im Dokument wechseln können. Dieser virtuelle Cursor zeigt an, wo der Text eingefügt wird, wenn die Methoden write, writeln, insert_break und andere aufgerufen werden. Weitere Informationen zum virtuellen Cursor finden Sie im folgenden Artikel “Navigation mit Cursor”.
Das folgende Codebeispiel zeigt, wie Sie zu einem Lesezeichen navigieren:
Erstellen und Ändern von Dokumenten
Aspose.Words API stellt mehrere Klassen bereit, die für die Formatierung verschiedener Elemente eines Dokuments verantwortlich sind. Jede der Klassen kapselt Formatierungseigenschaften, die sich auf ein bestimmtes Dokumentelement beziehen, z. B. Text, Absatz, Abschnitt und andere. Beispielsweise stellt die Font-Klasse Zeichenformatierungseigenschaften dar, die ParagraphFormat-Klasse stellt Absatzformatierungseigenschaften dar und so weiter. Objekte dieser Klassen werden von den entsprechenden DocumentBuilder-Eigenschaften zurückgegeben, die dieselben Namen wie die Klassen haben. Daher können Sie während der Dokumenterstellung darauf zugreifen und die gewünschte Formatierung festlegen.
Sie können auch Text, Kontrollkästchen, Ole-Objekte, Bilder, Lesezeichen, Formularfelder und andere Dokumentelemente an der Cursorposition einfügen, indem Sie die Write
-Methode oder eine der DocumentBuilder.insert_XXX-Methoden wie insert_field, insert_html und ähnliche Methoden verwenden.
Sehen wir uns an, wie man mit DocumentBuilder ein einfaches Dokument erstellt.
Erstellen Sie ein Dokument mit DocumentBuilder
Zunächst müssen Sie ein DocumentBuilder erstellen und es einem Document-Objekt zuordnen. Sie erstellen eine neue Instanz von DocumentBuilder, indem Sie dessen Konstruktor aufrufen und sie an ein Document-Objekt übergeben, um es an den Builder anzuhängen.
Um einen Text einzufügen, übergeben Sie die Textzeichenfolge, die Sie in das Dokument einfügen möchten, an die write-Methode.
Das folgende Codebeispiel zeigt, wie Sie mit einem Document Builder ein einfaches Dokument erstellen.
Geben Sie die Dokumentformatierung an
Die font-Eigenschaft definiert die Textformatierung. Dieses Objekt enthält verschiedene Schriftartattribute (Schriftartname, Schriftgröße, Farbe usw.). Einige wichtige Schriftartattribute werden auch durch DocumentBuilder-Eigenschaften dargestellt, damit Sie direkt darauf zugreifen können. Dies sind die booleschen Eigenschaften Font.bold, Font.italic und Font.underline.
Das folgende Codebeispiel zeigt, wie man einen formatierten Text mit DocumentBuilder einfügt:
- font gibt die Zeichenformatierung an, die auf den gesamten Text angewendet wird, der ab der aktuellen Position im Dokument eingefügt wird.
- paragraph_format gibt die Absatzformatierung für den aktuellen und alle einzufügenden Absätze an.
- page_setup gibt die Seiten- und Abschnittseigenschaften für den aktuellen Abschnitt und den gesamten Abschnitt an, der eingefügt wird.
- cell_format und row_format geben Formatierungseigenschaften an, die ab der aktuellen Position im Dokument auf Tabellenzellen und -zeilen angewendet werden.
In dieser Situation bedeutet “aktuell” die Position, den Absatz, den Abschnitt, die Zelle oder die Zeile, in der sich der Cursor befindet.