
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
- Vytvořte soubor Word DOCX/DOC v Python
- Načtěte existující dokument aplikace Word
- Vložit odstavec do dokumentu aplikace Word
- Přidat tabulku do dokumentu aplikace Word
- Přidat seznam do souboru Word DOCX/DOC
- Vložte obrázek do dokumentu aplikace Word
- Přidejte obsah do souboru aplikace Word
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

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

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

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

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ř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

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.