Wortautomatisierung in Python

MS Word Dateien werden immens verwendet, um verschiedene Arten von Dokumenten wie Rechnungen, Berichte, technische Artikel usw. zu erstellen. Die Dokumentenautomatisierung hat es den Benutzern erleichtert, Word Dokumente dynamisch aus ihren Web oder Desktop-Portalen heraus zu erstellen. Daher werden wir in diesem Artikel behandeln, wie Sie Word Dokumente in Python ohne MS Office erstellen. Außerdem erfahren Sie, wie Sie eine DOCX oder DOC Datei erstellen und mit Python dynamisch Text oder andere Elemente hinzufügen.

Python-API zum Erstellen von Word Dokumenten

Um Word Dokumente dynamisch zu erstellen, verwenden wir Aspose.Words for Python. Es ist eine leistungsstarke Python Bibliothek, mit der Sie MS Word Dokumente nahtlos erstellen und bearbeiten können. Sie können die Bibliothek in Ihrer Python Anwendung von PyPI mit dem folgenden Pip Befehl installieren.

pip install aspose-words

Erstellen Sie eine Word DOCX oder DOC Datei in Python

Im Folgenden sind die Schritte zum Erstellen eines Word Dokuments von Grund auf in Python aufgeführt.

  • Erstellen Sie ein Objekt der Document Klasse.
  • Erstellen Sie ein Objekt der DocumentBuilder Klasse.
  • Fügen Sie mit der methode DocumentBuilder.write() Text in das Dokument ein.
  • Speichern Sie das Word Dokument mit der methode Document.save().

Das folgende Codebeispiel zeigt, wie Sie ein Word-DOCX-Dokument erstellen.

import aspose.words as aw

# create document object
doc = aw.Document()

# create a document builder object
builder = aw.DocumentBuilder(doc)

# add text to the document
builder.write("Hello world!")

# save document
doc.save("out.docx")

Ausgabe

Word Dokument Python erstellen

Laden Sie ein vorhandenes Word Dokument in Python

Sie können auch ein vorhandenes Word Dokument laden, indem Sie seinen Pfad für den Document-Konstruktor angeben. Das folgende Codebeispiel zeigt, wie ein Word Dokument geladen wird.

import aspose.words as aw

# create document object
doc = aw.Document("document.docx")

# manipulate document

# save document
doc.save("out.docx")

Fügen Sie mit Python einen Absatz in ein Word Dokument ein

Die Word Dokumente enthalten Text in Form von Absätzen. Daher zeigen wir in diesem Abschnitt, wie Sie mit Python einen Absatz in ein Word Dokument einfügen.

  • Erstellen Sie ein Objekt der Document Klasse.
  • Erstellen Sie ein Objekt der DocumentBuilder Klasse.
  • Rufen Sie die Referenz der Schriftart vom Documentbuilder objekt ab und legen Sie die Schriftart fest.
  • Holen Sie sich die Referenz des Absatzformats vom Documentbuilder objekt und legen Sie Einzug, Ausrichtung usw. fest.
  • Fügen Sie mit der methode DocumentBuilder.write() Text in den Absatz ein.
  • Speichern Sie das Word Dokument mit der methode Document.save().

Das folgende Codebeispiel zeigt, wie Sie mit Python einen Absatz in ein Word Dokument einfügen.

import aspose.words as aw

# create document object
doc = aw.Document()

# create a document builder object
builder = aw.DocumentBuilder(doc)

# create font
font = builder.font
font.size = 16
font.bold = True
font.name = "Arial"
font.underline = aw.Underline.DASH

# set paragraph formatting
paragraphFormat = builder.paragraph_format
paragraphFormat.first_line_indent = 8
paragraphFormat.alignment = aw.ParagraphAlignment.JUSTIFY
paragraphFormat.keep_together = True

# add text
builder.writeln("A whole paragraph.")

# save document
doc.save("out.docx")

Ausgabe

Absatz erstellen in word dokument python

Erfahren Sie mehr über das Arbeiten mit Absätzen in Word Dokumenten mit Python.

Tabelle in einem Word Dokument mit Python hinzufügen

Tabellen sind fester Bestandteil der Dokumente, um Informationen in Form von Zeilen und Spalten darzustellen. Aspose.Words for Python erleichtert die Arbeit mit Tabellen erheblich. Im Folgenden sind die Schritte zum Hinzufügen einer Tabelle in einem Word Dokument mit Python aufgeführt.

  • Erstellen Sie ein Objekt der Document Klasse.
  • Erstellen Sie ein Objekt der DocumentBuilder Klasse.
  • Starten Sie eine Tabelle mit der methode DocumentBuilder.start\table() und rufen Sie die Referenz der Tabelle in einem Objekt ab.
  • Fügen Sie eine Zelle mit der methode DocumentBuilder.insert\cell() ein.
  • Stellen Sie die automatische Anpassung mit der methode auto\fit(aw.tables.AutoFitBehavior.FIXED\COLUMN\WIDTHS) ein.
  • Ausrichtung der Zelle festlegen.
  • Fügen Sie mithilfe der Methode DocumentBuilder.write() Text in die Zelle ein.
  • Wiederholen Sie das Einfügen von Zellen und Text in Zellen nach Bedarf.
  • Beenden Sie eine Zeile, wenn Sie das Einfügen von Zellen abgeschlossen haben.
  • Beenden Sie die Tabelle, wenn Sie alle Zeilen eingefügt haben.
  • Speichern Sie das Word Dokument mit der methode Document.save().

Das folgende Codebeispiel zeigt, wie Sie mit Python eine Tabelle in ein Word Dokument einfügen.

import aspose.words as aw

# create document object
doc = aw.Document()

# create a document builder object
builder = aw.DocumentBuilder(doc)

# start table
table = builder.start_table()

# insert cell 
builder.insert_cell()
table.auto_fit(aw.tables.AutoFitBehavior.AUTO_FIT_TO_CONTENTS)

# set formatting and add text
builder.cell_format.vertical_alignment = aw.tables.CellVerticalAlignment.CENTER
builder.write("This is row 1 cell 1")

# insert cell
builder.insert_cell()
builder.write("This is row 1 cell 2")

# end row
builder.end_row()

# insert another cell in the next row
builder.insert_cell()

# format row if required
builder.row_format.height = 100
builder.row_format.height_rule = aw.HeightRule.EXACTLY

# format cell and add text
builder.cell_format.orientation = aw.TextOrientation.UPWARD
builder.writeln("This is row 2 cell 1")

# insert another cell, set formatting and add text
builder.insert_cell()
builder.cell_format.orientation = aw.TextOrientation.DOWNWARD
builder.writeln("This is row 2 cell 2")

# end row
builder.end_row()

# end table
builder.end_table()

# save document
doc.save("out.docx")

Ausgabe

Erstellen Sie eine Tabelle in Word Dokument Python

Erfahren Sie mehr über das Arbeiten mit Tabellen in Word Dokumenten mit Python.

Erstellen Sie eine Liste in einem Word Dokument mit Python

Im Folgenden sind die Schritte zum Erstellen einer Liste in einem Word Dokument mit Python aufgeführt.

  • Erstellen Sie ein Objekt der Document Klasse.
  • Erstellen Sie ein Objekt der DocumentBuilder Klasse.
  • Legen Sie die Formatierung mit der methode DocumentBuilder.list\format.apply\number\default() fest.
  • Element mit der methode DocumentBuilder.writeln(“Element 1”) einfügen.
  • Fügen Sie das zweite Element mit der methode DocumentBuilder.writeln(“Element 2”) ein.
  • Um Elemente in die nächste Ebene der Liste einzufügen, rufen Sie die Methode DocumentBuilder.list\format.list\indent() auf und fügen Sie Elemente ein.
  • Entfernen Sie Zahlen aus der Liste mit der methode DocumentBuilder.list\format.remove\numbers().
  • Speichern Sie das Word Dokument mit der methode Document.save().

Das folgende Codebeispiel zeigt, wie Sie mit Python eine Liste in Word Dokumenten erstellen.

import aspose.words as aw

# create document object
doc = aw.Document()

# create a document builder object
builder = aw.DocumentBuilder(doc)

# set list formatting
builder.list_format.apply_number_default()

# insert item
builder.writeln("Item 1")
builder.writeln("Item 2")

# set indentation for next level of list
builder.list_format.list_indent()
builder.writeln("Item 2.1")
builder.writeln("Item 2.2")

# indent again for next level
builder.list_format.list_indent()
builder.writeln("Item 2.2.1")
builder.writeln("Item 2.2.2")

# outdent to get back to previous level
builder.list_format.list_outdent()
builder.writeln("Item 2.3")

# outdent again to get back to first level
builder.list_format.list_outdent()
builder.writeln("Item 3")

# remove numbers
builder.list_format.remove_numbers()

# save document
doc.save("out.docx")

Ausgabe

Erstellen Sie eine Liste in Word Dokument Python

Lesen Sie mehr über Arbeiten mit Listen in Word Dokumenten mit Python.

Bilder mit Python in ein Word Dokument einfügen

Beim Arbeiten mit Word Dokumenten können Sie grafische Objekte wie Bilder nicht ignorieren. Schauen wir uns also an, wie man mit Python dynamisch Bilder in ein Word Dokument einfügt.

  • Erstellen Sie ein Objekt der Document Klasse.
  • Erstellen Sie ein Objekt der DocumentBuilder Klasse.
  • Fügen Sie das Bild mit der methode DocumentBuilder.insert\image() ein und übergeben Sie den Pfad der Bilddatei als Parameter.
  • Speichern Sie das Word Dokument mit der methode Document.save().

Das folgende Codebeispiel zeigt, wie Sie mit Python ein Bild in ein Word Dokument einfügen.

import aspose.words as aw

# create document object
doc = aw.Document()

# create a document builder object
builder = aw.DocumentBuilder(doc)

# add image
builder.insert_image("Logo.jpg")

# save document
doc.save("out.docx")

Ausgabe

Erstellen Sie ein Bild in Word Dokument Python

Erstellen Sie Inhaltsverzeichnisse in Word Dokumenten mit Python

In verschiedenen Fällen enthalten die Word Dokumente ein Inhaltsverzeichnis (TOC). Das Inhaltsverzeichnis gibt Ihnen einen Überblick über den Inhalt des Word Dokuments. Die folgenden Schritte veranschaulichen das Hinzufügen eines Inhaltsverzeichnisses in Word Dokumenten mit Python.

  • Erstellen Sie ein Objekt der Document Klasse.
  • Erstellen Sie ein Objekt der DocumentBuilder Klasse.
  • Inhaltsverzeichnis mit der methode DocumentBuilder.insert\table\of\contents() einfügen.
  • Fügen Sie einen Seitenumbruch nach dem Inhaltsverzeichnis mit der methode DocumentBuilder.insert\break(aw.BreakType.PAGE\BREAK) ein.
  • Aktualisieren Sie nach dem Hinzufügen/Aktualisieren des Inhalts des Dokuments das Inhaltsverzeichnis mithilfe der Methode Document.update\fields().
  • Speichern Sie das Word Dokument mit der methode Document.save().

Das folgende Codebeispiel zeigt, wie Sie mit Python ein Inhaltsverzeichnis in ein Word Dokument einfügen.

import aspose.words as aw

# create document object
doc = aw.Document()

# create a document builder object
builder = aw.DocumentBuilder(doc)

# insert table of contents
builder.insert_table_of_contents("\\o \"1-3\" \\h \\z \\u")

# start the actual document content on the second page
builder.insert_break(aw.BreakType.PAGE_BREAK)

# add content
builder.paragraph_format.style_identifier = aw.StyleIdentifier.HEADING1
builder.writeln("Heading 1")

builder.paragraph_format.style_identifier = aw.StyleIdentifier.HEADING2
builder.writeln("Heading 1.1")
builder.writeln("Heading 1.2")

builder.paragraph_format.style_identifier = aw.StyleIdentifier.HEADING1
builder.writeln("Heading 2")
builder.writeln("Heading 3")

builder.paragraph_format.style_identifier = aw.StyleIdentifier.HEADING2
builder.writeln("Heading 3.1")

builder.paragraph_format.style_identifier = aw.StyleIdentifier.HEADING3
builder.writeln("Heading 3.1.1")
builder.writeln("Heading 3.1.2")
builder.writeln("Heading 3.1.3")

builder.paragraph_format.style_identifier = aw.StyleIdentifier.HEADING2
builder.writeln("Heading 3.2")
builder.writeln("Heading 3.3")

# the newly inserted table of contents will be initially empty
# it needs to be populated by updating the fields in the document
doc.update_fields()

# save document
doc.save("out.docx")

Ausgabe

erstelle toc in word dokument python

Lesen Sie mehr über Arbeiten mit dem Inhaltsverzeichnis mit Python.

Weiterlesen

In diesem Artikel wurden einige grundlegende Vorgänge zum Erstellen von Word Dokumenten und zum Einfügen verschiedener Elemente behandelt. Aspose.Words for Python bietet auch eine Reihe anderer Funktionen, die Sie mithilfe der Dokumentation erkunden können.

Holen Sie sich eine kostenlose API Lizenz

Sie können eine temporäre Lizenz erwerben, um Aspose.Words for Python ohne Evaluierungseinschränkungen zu verwenden.

Fazit

In diesem Artikel haben Sie gelernt, wie Sie Word DOCX oder DOC Dateien in Python erstellen. Außerdem haben Sie gesehen, wie Sie Texte, Bilder, Tabellen, Listen und Inhaltsverzeichnisse dynamisch in Word Dokumente einfügen. Sie können die API ausprobieren und Ihr Feedback oder Ihre Fragen über unser Forum teilen.

Siehe auch

Tipp: Aspose bietet einen KOSTENLOSEN Online Konverter PowerPoint to Word, mit dem Sie schnell Word Dokumente aus Präsentationen erstellen können.