Automatizace slov v Python

Soubory MS Word se nesmírně používají k vytváření různých typů dokumentů, jako jsou faktury, zprávy, technické články atd. Automatizace dokumentů uživatelům usnadnila generování dokumentů aplikace Word dynamicky z jejich webových nebo desktopových portálů. Proto se v tomto článku budeme zabývat tím, jak generovat dokumenty Word v Python bez MS Office. Navíc se naučíte, jak vytvořit soubor DOCX nebo DOC a dynamicky do něj přidávat text nebo jiné prvky pomocí Python.

Knihovna Python pro vytváření dokumentů aplikace Word

Pro dynamické vytváření dokumentů aplikace Word použijeme Aspose.Words for Python. Je to výkonná knihovna Python, která vám umožní bezproblémově vytvářet a manipulovat s dokumenty MS Word. Knihovnu můžete nainstalovat do vaší Python aplikace z PyPI pomocí následujícího příkazu pip.

pip install aspose-words

Vytvořte soubor Word DOCX nebo DOC v Python

Následují kroky k vytvoření dokumentu Word od začátku v Python.

  • Vytvořte objekt třídy Document.
  • Vytvořte objekt třídy DocumentBuilder.
  • Vložte text do dokumentu pomocí metody DocumentBuilder.write().
  • Uložte dokument aplikace Word pomocí metody Document.save().

Kód Python pro vytvoření dokumentu aplikace Word

Následující ukázka kódu ukazuje, jak vytvořit dokument Word DOCX.

import aspose.words as aw

# vytvořit objekt dokumentu
doc = aw.Document()

# vytvořit objekt tvůrce dokumentů
builder = aw.DocumentBuilder(doc)

# přidat text do dokumentu
builder.write("Hello world!")

# uložit dokument
doc.save("out.docx")

Výstup

vytvořit textový dokument python

Jak načíst dokument Word v Python

Můžete také načíst existující dokument aplikace Word zadáním jeho cesty do konstruktoru dokumentu. Následující ukázka kódu ukazuje, jak načíst dokument aplikace Word.

import aspose.words as aw

# vytvořit objekt dokumentu
doc = aw.Document("document.docx")

# manipulovat s dokumentem

# uložit dokument
doc.save("out.docx")

Python Vytvořte dokument aplikace Word - Vložit odstavec

Dokumenty aplikace Word obsahují text ve formě odstavců. Proto si v této části ukážeme, jak vložit odstavec do dokumentu Word pomocí Python.

  • Vytvořte objekt třídy Document.
  • Vytvořte objekt třídy DocumentBuilder.
  • Získejte odkaz na písmo z objektu Documentbuilder a nastavte písmo.
  • Získejte odkaz na formát odstavce z objektu Documentbuilder a nastavte odsazení, zarovnání atd.
  • Vložte text do odstavce pomocí metody DocumentBuilder.write().
  • Uložte dokument aplikace Word pomocí metody Document.save().

Následující ukázka kódu ukazuje, jak vložit odstavec do dokumentu aplikace Word pomocí Python.

import aspose.words as aw

# vytvořit objekt dokumentu
doc = aw.Document()

# vytvořit objekt tvůrce dokumentů
builder = aw.DocumentBuilder(doc)

# vytvořit písmo
font = builder.font
font.size = 16
font.bold = True
font.name = "Arial"
font.underline = aw.Underline.DASH

# nastavit formátování odstavce
paragraphFormat = builder.paragraph_format
paragraphFormat.first_line_indent = 8
paragraphFormat.alignment = aw.ParagraphAlignment.JUSTIFY
paragraphFormat.keep_together = True

# přidej text
builder.writeln("A whole paragraph.")

# uložit dokument
doc.save("out.docx")

Výstup

vytvořit odstavec v dokumentu word python

Přečtěte si další informace o práci s odstavci v dokumentech Word pomocí Python.

Generování tabulky v dokumentu aplikace Word v Python

Tabulky jsou nedílnou součástí dokumentů pro zobrazení informací ve formě řádků a sloupců. Aspose.Words for Python značně usnadňuje práci s tabulkami. Následují kroky pro přidání tabulky do dokumentu Word pomocí Python.

  • Vytvořte objekt třídy Document.
  • Vytvořte objekt třídy DocumentBuilder.
  • Spusťte tabulku pomocí metody DocumentBuilder.starttable() a získejte odkaz na tabulku v objektu.
  • Vložte buňku pomocí metody DocumentBuilder.insertcell().
  • Nastavte automatické přizpůsobení pomocí metody autofit(aw.tables.AutoFitBehavior.FIXEDCOLUMNWIDTHS).
  • Nastavte zarovnání buňky.
  • Vložte text do buňky pomocí metody DocumentBuilder.write().
  • Podle potřeby opakujte vkládání buněk a textu do buněk.
  • Po dokončení vkládání buněk ukončete řádek.
  • Ukončete tabulku, když vložíte všechny řádky.
  • Uložte dokument aplikace Word pomocí metody Document.save().

Následující ukázka kódu ukazuje, jak vložit tabulku do dokumentu aplikace Word pomocí Python.

import aspose.words as aw

# vytvořit objekt dokumentu
doc = aw.Document()

# vytvořit objekt tvůrce dokumentů
builder = aw.DocumentBuilder(doc)

# startovní tabulka
table = builder.start_table()

# vložit buňku 
builder.insert_cell()
table.auto_fit(aw.tables.AutoFitBehavior.AUTO_FIT_TO_CONTENTS)

# nastavit formátování a přidat text
builder.cell_format.vertical_alignment = aw.tables.CellVerticalAlignment.CENTER
builder.write("This is row 1 cell 1")

# vložit buňku
builder.insert_cell()
builder.write("This is row 1 cell 2")

# koncový řádek
builder.end_row()

# vložte další buňku do dalšího řádku
builder.insert_cell()

# v případě potřeby naformátujte řádek
builder.row_format.height = 100
builder.row_format.height_rule = aw.HeightRule.EXACTLY

# formátovat buňku a přidat text
builder.cell_format.orientation = aw.TextOrientation.UPWARD
builder.writeln("This is row 2 cell 1")

# insert another cell, nastavit formátování a přidat text
builder.insert_cell()
builder.cell_format.orientation = aw.TextOrientation.DOWNWARD
builder.writeln("This is row 2 cell 2")

# koncový řádek
builder.end_row()

# stolek
builder.end_table()

# uložit dokument
doc.save("out.docx")

Výstup

vytvořit tabulku ve word document python

Přečtěte si další informace o tom, jak pracovat s tabulkami v dokumentech Word pomocí Python.

Python: Vygenerujte seznam v dokumentu aplikace Word

Následují kroky k vytvoření seznamu v dokumentu aplikace Word pomocí Python.

  • Vytvořte objekt třídy Document.
  • Vytvořte objekt třídy DocumentBuilder.
  • Nastavte formátování pomocí metody DocumentBuilder.listformat.applynumberdefault().
  • Vložte položku pomocí metody DocumentBuilder.writeln(“Item 1”).
  • Druhou položku vložte pomocí metody DocumentBuilder.writeln(“Item 2”).
  • Chcete-li vložit položky do další úrovně seznamu, zavolejte metodu DocumentBuilder.listformat.listindent() a vložte položky.
  • Odstraňte čísla ze seznamu pomocí metody DocumentBuilder.listformat.removenumbers().
  • Uložte dokument aplikace Word pomocí metody Document.save().

Následující ukázka kódu ukazuje, jak vytvořit seznam v dokumentech aplikace Word pomocí Python.

import aspose.words as aw

# vytvořit objekt dokumentu
doc = aw.Document()

# vytvořit objekt tvůrce dokumentů
builder = aw.DocumentBuilder(doc)

# nastavit formátování seznamu
builder.list_format.apply_number_default()

# vložit položku
builder.writeln("Item 1")
builder.writeln("Item 2")

# nastavit odsazení pro další úroveň seznamu
builder.list_format.list_indent()
builder.writeln("Item 2.1")
builder.writeln("Item 2.2")

# znovu odsadit pro další úroveň
builder.list_format.list_indent()
builder.writeln("Item 2.2.1")
builder.writeln("Item 2.2.2")

# outdent pro návrat na předchozí úroveň
builder.list_format.list_outdent()
builder.writeln("Item 2.3")

# znovu předsadit, abyste se dostali zpět na první úroveň
builder.list_format.list_outdent()
builder.writeln("Item 3")

# odstranit čísla
builder.list_format.remove_numbers()

# uložit dokument
doc.save("out.docx")

Výstup

vytvořit seznam ve word document python

Přečtěte si více o práci se seznamy v dokumentech aplikace Word pomocí Python.

Vložte obrázky do dokumentu aplikace Word v Python

Při práci s dokumenty aplikace Word nemůžete ignorovat grafické objekty, jako jsou obrázky. Pojďme se tedy podívat na to, jak dynamicky vkládat obrázky do dokumentu Word pomocí Python.

  • Vytvořte objekt třídy Document.
  • Vytvořte objekt třídy DocumentBuilder.
  • Vložte obrázek pomocí metody DocumentBuilder.insertimage() a jako parametr předejte cestu k souboru obrázku.
  • Uložte dokument aplikace Word pomocí metody Document.save().

Následující ukázka kódu ukazuje, jak vložit obrázek do dokumentu aplikace Word pomocí Python.

import aspose.words as aw

# vytvořit objekt dokumentu
doc = aw.Document()

# vytvořit objekt tvůrce dokumentů
builder = aw.DocumentBuilder(doc)

# přidat obrázek
builder.insert_image("Logo.jpg")

# uložit dokument
doc.save("out.docx")

Výstup

vytvořit obrázek v dokumentu word python

Vytvořte obsah v dokumentech aplikace Word v Python

V různých případech obsahují dokumenty Wordu obsah (TOC). Obsah poskytuje přehled o obsahu dokumentu aplikace Word. Následující kroky ukazují, jak přidat obsah do dokumentů aplikace Word pomocí Python.

  • Vytvořte objekt třídy Document.
  • Vytvořte objekt třídy DocumentBuilder.
  • Obsah vložte pomocí metody DocumentBuilder.inserttableofcontents().
  • Vložte konec stránky za obsah pomocí metody DocumentBuilder.insertbreak(aw.BreakType.PAGEBREAK).
  • Po přidání/aktualizaci obsahu dokumentu aktualizujte obsah pomocí metody Document.updatefields().
  • Uložte dokument aplikace Word pomocí metody Document.save().

Následující ukázka kódu ukazuje, jak vložit obsah do dokumentu aplikace Word pomocí Python.

import aspose.words as aw

# vytvořit objekt dokumentu
doc = aw.Document()

# vytvořit objekt tvůrce dokumentů
builder = aw.DocumentBuilder(doc)

# vložit obsah
builder.insert_table_of_contents("\\o \"1-3\" \\h \\z \\u")

# spustit vlastní obsah dokumentu na druhé stránce
builder.insert_break(aw.BreakType.PAGE_BREAK)

# přidat obsah
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")

# nově vložený obsah bude zpočátku prázdný
# je třeba jej vyplnit aktualizací polí v dokumentu
doc.update_fields()

# uložit dokument
doc.save("out.docx")

Výstup

vytvořit toc ve wordovém dokumentu python

Přečtěte si více o práci s obsahem pomocí Python.

Vytvářejte dokumenty Word s bezplatnou licencí

Můžete získat bezplatnou dočasnou licenci pro generování dokumentů MS Word bez omezení hodnocení.

Python Word Automation Library – Přečtěte si více

Tento článek popisuje některé základní operace vytváření dokumentů aplikace Word a vkládání různých prvků. Aspose.Words for Python poskytuje také spoustu dalších funkcí, které můžete prozkoumat pomocí dokumentace.

Závěr

V tomto článku jste se naučili, jak vytvořit Word DOCX nebo DOC soubory v Python. Navíc jste viděli, jak dynamicky vkládat text, obrázky, tabulky, seznamy a obsah do dokumentů aplikace Word. Můžete vyzkoušet API a sdílet své názory nebo dotazy prostřednictvím našeho fóra.

Viz také

Převést soubory Wordu do PDF pomocí PythonAutomatizujte hromadnou korespondenci MS Word v PythonKombinovat dokumenty Wordu v Python
Porovnejte dokumenty Wordu v PythonPráce s makry VBA v dokumentech Word pomocí PythonZkopírujte obsah dokumentu aplikace Word do jiného v C#
Kopírování obsahu dokumentu aplikace Word do jiného v jazyce JavaKopírování obsahu dokumentu aplikace Word do jiného v PythonVytvářejte prezentace MS PowerPoint v Python
Vytvořit tabulku v dokumentech Word pomocí PythonExtrahovat text z dokumentů aplikace Word v C#Extrahovat text z dokumentů aplikace Word v Python
Najít a nahradit text v dokumentech aplikace Word v PythonChránit dokumenty Wordu v PythonZrušit ochranu dokumentů aplikace Word v Python
Rozdělit dokument aplikace Word na více souborů v Python