Tự động hóa từ trong Python

Tệp MS Word được sử dụng rộng rãi để tạo nhiều loại tài liệu khác nhau như hóa đơn, báo cáo, bài báo kỹ thuật, v.v. Việc tự động hóa tài liệu đã tạo điều kiện thuận lợi cho người dùng tạo tài liệu Word động từ bên trong cổng web hoặc máy tính để bàn của họ. Vì vậy, trong bài viết này, chúng tôi sẽ đề cập đến cách tạo tài liệu Word bằng Python mà không cần MS Office. Hơn nữa, bạn sẽ học cách tạo tệp DOCX hoặc DOC và thêm văn bản hoặc các phần tử khác vào nó bằng cách sử dụng Python động.

API Python để tạo tài liệu Word

Để tạo động các tài liệu Word, chúng tôi sẽ sử dụng Aspose.Words dành cho Python. Đây là một thư viện Python mạnh mẽ cho phép bạn tạo và thao tác các tài liệu MS Word một cách liền mạch. Bạn có thể cài đặt thư viện trong ứng dụng Python của mình từ PyPI bằng cách sử dụng lệnh pip sau.

pip install aspose-words

Tạo tệp Word DOCX hoặc DOC bằng Python

Sau đây là các bước để tạo một tài liệu Word từ đầu bằng Python.

  • Tạo một đối tượng của lớp Document.
  • Tạo một đối tượng của lớp DocumentBuilder.
  • Chèn văn bản vào tài liệu bằng phương thức DocumentBuilder.write().
  • Lưu tài liệu Word bằng phương thức Document.save().

Mẫu mã sau đây cho thấy cách tạo tài liệu Word DOCX.

import aspose.words as aw

# tạo đối tượng tài liệu
doc = aw.Document()

# tạo một đối tượng trình tạo tài liệu
builder = aw.DocumentBuilder(doc)

# thêm văn bản vào tài liệu
builder.write("Hello world!")

# lưu tài liệu
doc.save("out.docx")

Đầu ra

tạo tài liệu từ python

Tải tài liệu Word hiện có bằng Python

Bạn cũng có thể tải một tài liệu Word hiện có bằng cách cung cấp đường dẫn của nó tới hàm tạo Tài liệu. Mẫu mã sau đây cho thấy cách tải tài liệu Word.

import aspose.words as aw

# tạo đối tượng tài liệu
doc = aw.Document("document.docx")

# thao tác tài liệu

# lưu tài liệu
doc.save("out.docx")

Chèn một đoạn văn trong tài liệu Word bằng Python

Văn bản Word chứa văn bản dưới dạng đoạn văn. Do đó, trong phần này, chúng tôi sẽ trình bày cách chèn một đoạn văn vào tài liệu Word bằng Python.

  • Tạo một đối tượng của lớp Document.
  • Tạo một đối tượng của lớp DocumentBuilder.
  • Nhận tham chiếu phông chữ từ đối tượng Documentbuilder và đặt phông chữ.
  • Nhận tham chiếu của đoạn từat từ đối tượng Documentbuilder và đặt thụt lề, căn lề, v.v.
  • Chèn văn bản vào đoạn văn bằng phương thức DocumentBuilder.write().
  • Lưu tài liệu Word bằng phương thức Document.save().

Mẫu mã sau đây cho thấy cách chèn một đoạn văn trong tài liệu Word bằng Python.

import aspose.words as aw

# tạo đối tượng tài liệu
doc = aw.Document()

# tạo một đối tượng trình tạo tài liệu
builder = aw.DocumentBuilder(doc)

# tạo phông chữ
font = builder.font
font.size = 16
font.bold = True
font.name = "Arial"
font.underline = aw.Underline.DASH

# đặt định dạng đoạn văn
paragraphFormat = builder.paragraph_format
paragraphFormat.first_line_indent = 8
paragraphFormat.alignment = aw.ParagraphAlignment.JUSTIFY
paragraphFormat.keep_together = True

# thêm văn bản
builder.writeln("A whole paragraph.")

# lưu tài liệu
doc.save("out.docx")

Đầu ra

tạo đoạn văn trong tài liệu word python

Tìm hiểu thêm về làm việc với đoạn văn trong tài liệu Word bằng Python.

Thêm bảng trong tài liệu Word bằng Python

Bảng là một phần không thể thiếu trong tài liệu để hiển thị thông tin dưới dạng hàng và cột. Aspose.Words dành cho Python giúp làm việc với các bảng khá dễ dàng hơn. Sau đây là các bước để thêm bảng trong tài liệu Word bằng Python.

  • Tạo một đối tượng của lớp Document.
  • Tạo một đối tượng của lớp DocumentBuilder.
  • Bắt đầu một bảng bằng phương thức DocumentBuilder.starttable() và lấy tham chiếu của bảng trong một đối tượng.
  • Chèn một ô bằng phương thức DocumentBuilder.insertcell().
  • Đặt tự động điều chỉnh bằng phương pháp autofit (aw.tables.AutoFitBehavior.FIXEDCOLUMNWIDTHS).
  • Đặt căn chỉnh của ô.
  • Chèn văn bản vào ô bằng phương thức DocumentBuilder.write().
  • Lặp lại việc chèn ô và văn bản vào ô theo yêu cầu.
  • Kết thúc một hàng khi bạn hoàn thành việc chèn ô.
  • Kết thúc bảng khi bạn đã chèn tất cả các hàng.
  • Lưu tài liệu Word bằng phương thức Document.save().

Mẫu mã sau đây cho thấy cách chèn bảng trong tài liệu Word bằng Python.

import aspose.words as aw

# tạo đối tượng tài liệu
doc = aw.Document()

# tạo một đối tượng trình tạo tài liệu
builder = aw.DocumentBuilder(doc)

# bàn bắt đầu
table = builder.start_table()

# chèn ô 
builder.insert_cell()
table.auto_fit(aw.tables.AutoFitBehavior.AUTO_FIT_TO_CONTENTS)

# đặt định dạng và thêm văn bản
builder.cell_format.vertical_alignment = aw.tables.CellVerticalAlignment.CENTER
builder.write("This is row 1 cell 1")

# chèn ô
builder.insert_cell()
builder.write("This is row 1 cell 2")

# hàng cuối
builder.end_row()

# chèn một ô khác vào hàng tiếp theo
builder.insert_cell()

# định dạng hàng nếu được yêu cầu
builder.row_format.height = 100
builder.row_format.height_rule = aw.HeightRule.EXACTLY

# định dạng ô và thêm văn bản
builder.cell_format.orientation = aw.TextOrientation.UPWARD
builder.writeln("This is row 2 cell 1")

# insert another cell, đặt định dạng và thêm văn bản
builder.insert_cell()
builder.cell_format.orientation = aw.TextOrientation.DOWNWARD
builder.writeln("This is row 2 cell 2")

# hàng cuối
builder.end_row()

# bảng kết thúc
builder.end_table()

# lưu tài liệu
doc.save("out.docx")

Đầu ra

tạo bảng trong tài liệu word python

Tìm hiểu thêm về cách làm việc với bảng trong tài liệu Word bằng Python.

Tạo danh sách trong tài liệu Word bằng Python

Sau đây là các bước để tạo danh sách trong tài liệu Word bằng Python.

  • Tạo một đối tượng của lớp Document.
  • Tạo một đối tượng của lớp DocumentBuilder.
  • Đặt định dạng bằng phương thức DocumentBuilder.listformat.applynumberdefault().
  • Chèn mục bằng phương thức DocumentBuilder.writeln (“Mục 1”).
  • Chèn mục thứ hai bằng phương thức DocumentBuilder.writeln (“Mục 2”).
  • Để chèn các mục vào cấp độ tiếp theo của danh sách, hãy gọi phương thức DocumentBuilder.listformat.listindent() và chèn các mục.
  • Xóa các số khỏi danh sách bằng phương thức DocumentBuilder.listformat.removenumbers().
  • Lưu tài liệu Word bằng phương thức Document.save().

Mẫu mã sau đây cho thấy cách tạo danh sách trong tài liệu Word bằng Python.

import aspose.words as aw

# tạo đối tượng tài liệu
doc = aw.Document()

# tạo một đối tượng trình tạo tài liệu
builder = aw.DocumentBuilder(doc)

# đặt định dạng danh sách
builder.list_format.apply_number_default()

# chèn mục
builder.writeln("Item 1")
builder.writeln("Item 2")

# đặt thụt lề cho cấp độ tiếp theo của danh sách
builder.list_format.list_indent()
builder.writeln("Item 2.1")
builder.writeln("Item 2.2")

# thụt lề một lần nữa cho cấp độ tiếp theo
builder.list_format.list_indent()
builder.writeln("Item 2.2.1")
builder.writeln("Item 2.2.2")

# vượt trội để trở lại cấp độ trước đó
builder.list_format.list_outdent()
builder.writeln("Item 2.3")

# vượt trội một lần nữa để trở lại cấp độ đầu tiên
builder.list_format.list_outdent()
builder.writeln("Item 3")

# xóa số
builder.list_format.remove_numbers()

# lưu tài liệu
doc.save("out.docx")

Đầu ra

tạo danh sách trong tài liệu word python

Đọc thêm về làm việc với danh sách trong tài liệu Word bằng Python.

Chèn hình ảnh vào tài liệu Word bằng Python

Khi làm việc với tài liệu Word, bạn không thể bỏ qua các đối tượng đồ họa như hình ảnh. Vì vậy, chúng ta hãy xem cách chèn động hình ảnh trong tài liệu Word bằng Python.

  • Tạo một đối tượng của lớp Document.
  • Tạo một đối tượng của lớp DocumentBuilder.
  • Chèn hình ảnh bằng phương thức DocumentBuilder.insertimage() và chuyển đường dẫn của tệp hình ảnh làm tham số.
  • Lưu tài liệu Word bằng phương thức Document.save().

Mẫu mã sau đây cho thấy cách chèn hình ảnh vào tài liệu Word bằng Python.

import aspose.words as aw

# tạo đối tượng tài liệu
doc = aw.Document()

# tạo một đối tượng trình tạo tài liệu
builder = aw.DocumentBuilder(doc)

# thêm hình ảnh
builder.insert_image("Logo.jpg")

# lưu tài liệu
doc.save("out.docx")

Đầu ra

tạo hình ảnh trong tài liệu word python

Tạo Mục lục trong Tài liệu Word bằng Python

Trong các trường hợp khác nhau, tài liệu Word chứa một bảng nội dung (TOC). TOC cung cấp cho bạn cái nhìn tổng quan về nội dung của tài liệu Word. Các bước sau đây trình bày cách thêm TOC trong tài liệu Word bằng Python.

  • Tạo một đối tượng của lớp Document.
  • Tạo một đối tượng của lớp DocumentBuilder.
  • Chèn mục lục bằng phương thức DocumentBuilder.inserttableofcontents().
  • Chèn ngắt trang sau TOC bằng phương pháp DocumentBuilder.insertbreak (aw.BreakType.PAGEBREAK).
  • Sau khi thêm / cập nhật nội dung của tài liệu, hãy cập nhật TOC bằng phương thức Document.updatefields().
  • Lưu tài liệu Word bằng phương thức Document.save().

Mẫu mã sau đây cho thấy cách chèn mục lục trong tài liệu Word bằng Python.

import aspose.words as aw

# tạo đối tượng tài liệu
doc = aw.Document()

# tạo một đối tượng trình tạo tài liệu
builder = aw.DocumentBuilder(doc)

# chèn mục lục
builder.insert_table_of_contents("\\o \"1-3\" \\h \\z \\u")

# bắt đầu nội dung tài liệu thực tế trên trang thứ hai
builder.insert_break(aw.BreakType.PAGE_BREAK)

# thêm nội dung
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")

# mục lục mới được chèn vào ban đầu sẽ trống
# nó cần được điền bằng cách cập nhật các trường trong tài liệu
doc.update_fields()

# lưu tài liệu
doc.save("out.docx")

Đầu ra

tạo toc trong tài liệu word python

Đọc thêm về làm việc với mục lục bằng Python.

Đọc thêm

Bài viết này trình bày một số thao tác cơ bản để tạo tài liệu Word và chèn các phần tử khác nhau. Aspose. AdWords for Python cung cấp một loạt các tính năng khác mà bạn có thể khám phá bằng cách sử dụng tài liệu.

Nhận giấy phép API miễn phí

Bạn có thể xin giấy phép tạm thời để sử dụng Aspose. AdWords dành cho Python mà không có giới hạn đánh giá.

Sự kết luận

Trong bài viết này, bạn đã học cách tạo tệp Word DOCX hoặc DOC bằng Python. Hơn nữa, bạn đã thấy cách chèn động văn bản, hình ảnh, bảng, danh sách và mục lục trong tài liệu Word. Bạn có thể dùng thử API và chia sẻ phản hồi hoặc truy vấn của mình qua diễn đàn của chúng tôi.

Xem thêm

Chuyển đổi tệp Word sang PDF bằng PythonTự động kết hợp thư MS Word bằng PythonKết hợp tài liệu Word trong Python
So sánh tài liệu Word trong PythonLàm việc với Macro VBA trong Tài liệu Word bằng PythonSao chép nội dung của tài liệu Word sang tài liệu khác trong C#
Sao chép nội dung của một tài liệu Word sang một tài liệu khác trong JavaSao chép nội dung của tài liệu Word sang tài liệu khác bằng PythonTạo bản trình bày MS PowerPoint bằng Python
Tạo bảng trong tài liệu Word bằng PythonTrích xuất Văn bản từ Tài liệu Word trong C#Trích xuất văn bản từ tài liệu Word bằng Python
Tìm và thay thế văn bản trong tài liệu Word bằng PythonBảo vệ tài liệu Word bằng PythonUnprotect Word Documents in Python
Tách tài liệu Word thành nhiều tệp bằng Python

Mẹo: Aspose cung cấp Công cụ chuyển đổi PowerPoint to Word trực tuyến MIỄN PHÍ cho phép bạn tạo tài liệu Word từ các bản trình bày một cách nhanh chóng.