Pliki MS Word są niezwykle wykorzystywane do tworzenia różnego rodzaju dokumentów, takich jak faktury, raporty, artykuły techniczne itp. Automatyzacja dokumentów ułatwiła użytkownikom dynamiczne generowanie dokumentów Word z poziomu portali internetowych lub stacjonarnych. Dlatego w tym artykule omówimy, jak generować dokumenty Word w Python bez MS Office. Ponadto dowiesz się, jak utworzyć plik DOCX lub DOC i dynamicznie dodawać do niego tekst lub inne elementy za pomocą Python.
- Python API do tworzenia dokumentów Word
- Utwórz plik Word DOCX/DOC w Python
- Załaduj istniejący dokument programu Word
- Wstaw akapit w dokumencie programu Word
- Dodaj tabelę w dokumencie programu Word
- Dodaj listę w pliku Word DOCX/DOC
- Wstaw obraz do dokumentu programu Word
- Dodaj spis treści w pliku Word
Python API do tworzenia dokumentów Word
Do dynamicznego tworzenia dokumentów Word użyjemy Aspose.Words for Python. Jest to potężna biblioteka Python, która umożliwia bezproblemowe tworzenie i manipulowanie dokumentami MS Word. Możesz zainstalować bibliotekę w swojej aplikacji Python z PyPI za pomocą następującego polecenia pip.
pip install aspose-words
Utwórz plik Word DOCX lub DOC w Python
Poniżej przedstawiono kroki tworzenia dokumentu programu Word od podstaw w języku Python.
- Utwórz obiekt klasy Document.
- Utwórz obiekt klasy DocumentBuilder.
- Wstaw tekst do dokumentu za pomocą metody DocumentBuilder.write().
- Zapisz dokument programu Word za pomocą metody Document.save().
Poniższy przykładowy kod pokazuje, jak utworzyć dokument Word DOCX.
import aspose.words as aw
# utwórz obiekt dokumentu
doc = aw.Document()
# utwórz obiekt konstruktora dokumentów
builder = aw.DocumentBuilder(doc)
# dodać tekst do dokumentu
builder.write("Hello world!")
# zapisz dokument
doc.save("out.docx")
Wyjście
Załaduj istniejący dokument programu Word w Python
Możesz także załadować istniejący dokument programu Word, podając jego ścieżkę do konstruktora dokumentu. Poniższy przykładowy kod pokazuje, jak załadować dokument programu Word.
import aspose.words as aw
# utwórz obiekt dokumentu
doc = aw.Document("document.docx")
# manipulować dokumentem
# zapisz dokument
doc.save("out.docx")
Wstaw akapit w dokumencie programu Word za pomocą Python
Dokumenty programu Word zawierają tekst w formie akapitów. Dlatego w tej sekcji pokażemy, jak wstawić akapit do dokumentu programu Word za pomocą Python.
- Utwórz obiekt klasy Document.
- Utwórz obiekt klasy DocumentBuilder.
- Uzyskaj odniesienie do czcionki z obiektu Documentbuilder i ustaw czcionkę.
- Uzyskaj odniesienie do akapitu fromat z obiektu Documentbuilder i ustaw wcięcie, wyrównanie itp.
- Wstaw tekst do akapitu za pomocą metody DocumentBuilder.write().
- Zapisz dokument programu Word za pomocą metody Document.save().
Poniższy przykładowy kod pokazuje, jak wstawić akapit do dokumentu programu Word przy użyciu języka Python.
import aspose.words as aw
# utwórz obiekt dokumentu
doc = aw.Document()
# utwórz obiekt konstruktora dokumentów
builder = aw.DocumentBuilder(doc)
# utwórz czcionkę
font = builder.font
font.size = 16
font.bold = True
font.name = "Arial"
font.underline = aw.Underline.DASH
# ustawić formatowanie akapitu
paragraphFormat = builder.paragraph_format
paragraphFormat.first_line_indent = 8
paragraphFormat.alignment = aw.ParagraphAlignment.JUSTIFY
paragraphFormat.keep_together = True
# Dodaj tekst
builder.writeln("A whole paragraph.")
# zapisz dokument
doc.save("out.docx")
Wyjście
Dowiedz się więcej o pracy z akapitami w dokumentach programu Word przy użyciu języka Python.
Dodaj tabelę w dokumencie programu Word za pomocą Python
Tabele są integralną częścią dokumentów do wyświetlania informacji w postaci wierszy i kolumn. Aspose.Words for Python znacznie ułatwia pracę z tabelami. Poniżej przedstawiono kroki dodawania tabeli w dokumencie programu Word przy użyciu języka Python.
- Utwórz obiekt klasy Document.
- Utwórz obiekt klasy DocumentBuilder.
- Uruchom tabelę za pomocą metody DocumentBuilder.starttable() i pobierz odwołanie do tabeli w obiekcie.
- Wstaw komórkę za pomocą metody DocumentBuilder.insertcell().
- Ustaw automatyczne dopasowanie za pomocą metody autofit(aw.tables.AutoFitBehavior.FIXEDCOLUMNWIDTHS).
- Ustaw wyrównanie komórki.
- Wstaw tekst do komórki za pomocą metody DocumentBuilder.write().
- W razie potrzeby powtórz wstawianie komórek i tekstu do komórek.
- Zakończ wiersz po zakończeniu wstawiania komórek.
- Zakończ tabelę po wstawieniu wszystkich wierszy.
- Zapisz dokument programu Word za pomocą metody Document.save().
Poniższy przykładowy kod pokazuje, jak wstawić tabelę do dokumentu programu Word przy użyciu języka Python.
import aspose.words as aw
# utwórz obiekt dokumentu
doc = aw.Document()
# utwórz obiekt konstruktora dokumentów
builder = aw.DocumentBuilder(doc)
# tabela startowa
table = builder.start_table()
# wstaw komórkę
builder.insert_cell()
table.auto_fit(aw.tables.AutoFitBehavior.AUTO_FIT_TO_CONTENTS)
# ustaw formatowanie i dodaj tekst
builder.cell_format.vertical_alignment = aw.tables.CellVerticalAlignment.CENTER
builder.write("This is row 1 cell 1")
# wstaw komórkę
builder.insert_cell()
builder.write("This is row 1 cell 2")
# rząd końcowy
builder.end_row()
# wstaw kolejną komórkę w następnym wierszu
builder.insert_cell()
# sformatuj wiersz, jeśli jest to wymagane
builder.row_format.height = 100
builder.row_format.height_rule = aw.HeightRule.EXACTLY
# sformatuj komórkę i dodaj tekst
builder.cell_format.orientation = aw.TextOrientation.UPWARD
builder.writeln("This is row 2 cell 1")
# insert another cell, ustaw formatowanie i dodaj tekst
builder.insert_cell()
builder.cell_format.orientation = aw.TextOrientation.DOWNWARD
builder.writeln("This is row 2 cell 2")
# rząd końcowy
builder.end_row()
# stolik końcowy
builder.end_table()
# zapisz dokument
doc.save("out.docx")
Wyjście
Dowiedz się więcej o tym, jak pracować z tabelami w dokumentach programu Word przy użyciu języka Python.
Utwórz listę w dokumencie Word za pomocą Python
Poniżej przedstawiono kroki tworzenia listy w dokumencie programu Word przy użyciu języka Python.
- Utwórz obiekt klasy Document.
- Utwórz obiekt klasy DocumentBuilder.
- Ustaw formatowanie za pomocą metody DocumentBuilder.listformat.applynumberdefault().
- Wstaw element przy użyciu metody DocumentBuilder.writeln(“Item 1”).
- Wstaw drugi element przy użyciu metody DocumentBuilder.writeln(“Item 2”).
- Aby wstawić elementy na następny poziom listy, wywołaj metodę DocumentBuilder.listformat.listindent() i wstaw elementy.
- Usuń numery z listy za pomocą metody DocumentBuilder.listformat.removenumbers().
- Zapisz dokument programu Word za pomocą metody Document.save().
Poniższy przykładowy kod pokazuje, jak utworzyć listę w dokumentach programu Word przy użyciu języka Python.
import aspose.words as aw
# utwórz obiekt dokumentu
doc = aw.Document()
# utwórz obiekt konstruktora dokumentów
builder = aw.DocumentBuilder(doc)
# formatowanie listy zestawów
builder.list_format.apply_number_default()
# wstaw przedmiot
builder.writeln("Item 1")
builder.writeln("Item 2")
# ustaw wcięcie dla następnego poziomu listy
builder.list_format.list_indent()
builder.writeln("Item 2.1")
builder.writeln("Item 2.2")
# wcięcie ponownie dla następnego poziomu
builder.list_format.list_indent()
builder.writeln("Item 2.2.1")
builder.writeln("Item 2.2.2")
# outdent, aby wrócić do poprzedniego poziomu
builder.list_format.list_outdent()
builder.writeln("Item 2.3")
# outdent ponownie, aby wrócić do pierwszego poziomu
builder.list_format.list_outdent()
builder.writeln("Item 3")
# usunąć numery
builder.list_format.remove_numbers()
# zapisz dokument
doc.save("out.docx")
Wyjście
Przeczytaj więcej o pracy z listami w dokumentach programu Word przy użyciu języka Python.
Wstaw obrazy do dokumentu programu Word za pomocą Python
Podczas pracy z dokumentami programu Word nie można ignorować obiektów graficznych, takich jak obrazy. Przyjrzyjmy się więc, jak dynamicznie wstawiać obrazy do dokumentu programu Word za pomocą Python.
- Utwórz obiekt klasy Document.
- Utwórz obiekt klasy DocumentBuilder.
- Wstaw obraz za pomocą metody DocumentBuilder.insertimage() i podaj jako parametr ścieżkę do pliku obrazu.
- Zapisz dokument programu Word za pomocą metody Document.save().
Poniższy przykładowy kod pokazuje, jak wstawić obraz do dokumentu programu Word przy użyciu języka Python.
import aspose.words as aw
# utwórz obiekt dokumentu
doc = aw.Document()
# utwórz obiekt konstruktora dokumentów
builder = aw.DocumentBuilder(doc)
# Dodaj obraz
builder.insert_image("Logo.jpg")
# zapisz dokument
doc.save("out.docx")
Wyjście
Utwórz spis treści w dokumentach Word za pomocą Python
W różnych przypadkach dokumenty programu Word zawierają spis treści (TOC). Spis treści zawiera przegląd zawartości dokumentu programu Word. Poniższe kroki pokazują, jak dodać spis treści w dokumentach programu Word przy użyciu języka Python.
- Utwórz obiekt klasy Document.
- Utwórz obiekt klasy DocumentBuilder.
- Wstaw spis treści za pomocą metody DocumentBuilder.inserttableofcontents().
- Wstaw podział strony po spisie treści przy użyciu metody DocumentBuilder.insertbreak(aw.BreakType.PAGEBREAK).
- Po dodaniu/aktualizacji treści dokumentu zaktualizuj TOC metodą Document.updatefields().
- Zapisz dokument programu Word za pomocą metody Document.save().
Poniższy przykładowy kod pokazuje, jak wstawić spis treści do dokumentu programu Word przy użyciu języka Python.
import aspose.words as aw
# utwórz obiekt dokumentu
doc = aw.Document()
# utwórz obiekt konstruktora dokumentów
builder = aw.DocumentBuilder(doc)
# wstaw spis treści
builder.insert_table_of_contents("\\o \"1-3\" \\h \\z \\u")
# rozpocznij rzeczywistą treść dokumentu na drugiej stronie
builder.insert_break(aw.BreakType.PAGE_BREAK)
# Dodaj zawartość
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")
# nowo wstawiony spis treści będzie początkowo pusty
# należy go wypełnić, aktualizując pola w dokumencie
doc.update_fields()
# zapisz dokument
doc.save("out.docx")
Wyjście
Przeczytaj więcej o pracy ze spisem treści przy użyciu Python.
Czytaj więcej
W tym artykule omówiono niektóre podstawowe operacje tworzenia dokumentów programu Word i wstawiania różnych elementów. Aspose.Words for Python zapewnia również szereg innych funkcji, które możesz eksplorować za pomocą dokumentacji.
Uzyskaj bezpłatną licencję API
Możesz uzyskać tymczasową licencję, aby używać Aspose.Words for Python bez ograniczeń ewaluacyjnych.
Wniosek
W tym artykule nauczyłeś się, jak tworzyć pliki Word DOCX lub DOC w Python. Ponadto widziałeś, jak dynamicznie wstawiać tekst, obrazy, tabele, listy i spis treści w dokumentach programu Word. Możesz wypróbować interfejs API i podzielić się swoją opinią lub pytaniami na naszym forum.
Zobacz też
Wskazówka: Aspose zapewnia BEZPŁATNY internetowy konwerter PowerPoint to Word, który umożliwia szybkie tworzenie dokumentów Word z prezentacji.