Automatyzacja słów w Python

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

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

utwórz dokument Word w Python

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

utwórz akapit w pythonie dokumentu Word

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

utwórz tabelę w dokumencie Word python

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

utwórz listę w pythonie dokumentów tekstowych

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 obraz w pythonie dokumentu Word

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

utwórz toc w pythonie dokumentu Word

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ż

Konwertuj pliki Worda na PDF przy użyciu PythonAutomatyzacja korespondencji seryjnej MS Word w PythonŁączenie dokumentów programu Word w języku Python
Porównaj dokumenty programu Word w języku PythonPraca z makrami VBA w dokumentach programu Word przy użyciu języka PythonSkopiuj zawartość dokumentu programu Word do innego w języku C#
Skopiuj zawartość dokumentu programu Word do innego w JavieSkopiuj zawartość dokumentu programu Word do innego w PythonTworzenie prezentacji MS PowerPoint w Python
Tworzenie tabeli w dokumentach programu Word przy użyciu języka PythonWyodrębnij tekst z dokumentów programu Word w języku C#Wyodrębnij tekst z dokumentów programu Word w języku Python
Znajdź i zamień tekst w dokumentach programu Word w języku PythonChroń dokumenty programu Word w języku PythonOdbezpieczanie dokumentów programu Word w języku Python
Podziel dokument programu Word na wiele plików w Python

Wskazówka: Aspose zapewnia BEZPŁATNY internetowy konwerter PowerPoint to Word, który umożliwia szybkie tworzenie dokumentów Word z prezentacji.