Chúng tôi có thể tự động hóa MS Word để tạo tài liệu Word mới (DOC hoặc DOCX), chỉnh sửa hoặc sửa đổi tài liệu hiện có hoặc chuyển đổi chúng sang các định dạng khác mà không cần sử dụng Microsoft Office. Tự động hóa Python MS Word cho phép thực hiện tất cả các hành động theo chương trình mà chúng ta có thể thực hiện thông qua giao diện người dùng của MS Word. Trong bài viết này, chúng ta sẽ tìm hiểu cách tự động hóa MS Word để tạo, chỉnh sửa hoặc chuyển đổi tài liệu Word bằng Python.
Bài viết này trình bày tất cả các tính năng cơ bản cần thiết để tạo và thao tác lập trình tài liệu Word bằng Python. Bài viết này bao gồm các chủ đề sau:
- API tự động hóa Python MS Word để tạo, chỉnh sửa hoặc chuyển đổi tài liệu Word
- Tạo tài liệu Word
- Chỉnh sửa hoặc sửa đổi tài liệu Word
- Tìm và thay thế văn bản trong tài liệu Word
- Chuyển đổi tài liệu Word
- Phân tích cú pháp tài liệu Word
API tự động hóa Python MS Word để tạo, chỉnh sửa hoặc chuyển đổi tài liệu Word
Để tự động hóa Word, chúng tôi sẽ sử dụng API Aspose.Words for Python. Đây là một giải pháp tự động hóa Word hoàn chỉnh và giàu tính năng để tạo, chỉnh sửa hoặc phân tích tài liệu Word theo chương trình. Lớp Tài liệu của API đại diện cho một tài liệu Word. API cung cấp lớp DocumentBuilder cung cấp nhiều phương thức khác nhau để chèn văn bản, hình ảnh và nội dung khác vào tài liệu. Lớp này cũng cho phép chỉ định định dạng phông chữ, đoạn văn và phần. Lớp Run của API đại diện cho một loạt các ký tự có cùng định dạng phông chữ. Vui lòng cài đặt thư viện trong ứng dụng Python của bạn từ PyPI bằng lệnh pip sau.
pip install aspose-words
Tạo tài liệu Word bằng Python
Chúng tôi có thể tạo tài liệu Word theo chương trình bằng cách làm theo các bước dưới đây:
- Đầu tiên, tạo một thể hiện của lớp Tài liệu.
- Tiếp theo, tạo một thể hiện của lớp DocumentBuilder với đối tượng Document làm đối số.
- Sau đó, chèn / ghi các phần tử để thêm một số văn bản, đoạn văn, bảng hoặc hình ảnh bằng cách sử dụng đối tượng DocumentBuilder.
- Cuối cùng, gọi phương thức save() với đường dẫn tệp đầu ra làm đối số để lưu tệp đã tạo.
Mẫu mã sau đây cho thấy cách tạo tài liệu Word (DOCX) bằng Python.
import aspose.words as aw
# Ví dụ mã này trình bày cách tạo một tài liệu Word mới bằng Python.
# 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ỉ định định dạng phông chữ Phông chữ
font = builder.font
font.size = 32
font.bold = True
font.name = "Arial"
font.underline = aw.Underline.SINGLE
# Chèn văn bản
builder.writeln("Welcome")
builder.writeln()
# Đặt định dạng đoạn văn
font.size = 14
font.bold = False
font.name = "Arial"
font.underline = aw.Underline.NONE
paragraphFormat = builder.paragraph_format
paragraphFormat.first_line_indent = 8
paragraphFormat.alignment = aw.ParagraphAlignment.JUSTIFY
paragraphFormat.keep_together = True
# Chèn đoạn văn
builder.writeln('''Aspose.Words for Python is a class library that enables your applications to perform a great range of document processing tasks.
It supports most of the popular document formats such as DOC, DOCX, RTF, HTML, Markdown, PDF, XPS, EPUB, and others.
With the API, you can generate, modify, convert, render, and print documents without third-party applications or Office Automation.
''')
builder.writeln()
# Chèn bảng
font.bold = True
builder.writeln("This is a sample table")
font.bold = False
# Bắt đầu bảng
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("Row 1 cell 1")
builder.insert_cell()
builder.write("Row 1 cell 2")
builder.end_row()
builder.insert_cell()
builder.write("Row 2 cell 1")
builder.insert_cell()
builder.write("Row 2 cell 2")
builder.end_row()
# Kết thúc bảng
builder.end_table()
builder.writeln()
# Chèn hình ảnh
builder.insert_image("C:\\Files\\aspose-icon.png")
# Lưu tài liệu
doc.save("C:\\Files\\sample_output.docx")
Chỉnh sửa hoặc sửa đổi tài liệu Word bằng Python
Trong phần trước, chúng ta đã tạo một tài liệu Word. Bây giờ, chúng ta hãy chỉnh sửa nó và thay đổi nội dung của tài liệu. Chúng tôi có thể chỉnh sửa tài liệu Word bằng cách làm theo các bước dưới đây:
- Đầu tiên, tải một tài liệu Word hiện có bằng cách sử dụng lớp Tài liệu.
- Tiếp theo, truy cập vào phần cụ thể theo chỉ mục của nó.
- Sau đó, truy cập nội dung đoạn đầu tiên như một đối tượng của lớp Run.
- Sau đó, đặt văn bản để cập nhật cho đoạn được truy cập.
- Cuối cùng, gọi phương thức save() với đường dẫn tệp đầu ra để lưu tệp đã cập nhật.
Mẫu mã sau đây cho thấy cách chỉnh sửa tài liệu Word (DOCX) bằng Python.
import aspose.words as aw
# Ví dụ mã này trình bày cách chỉnh sửa tài liệu Word hiện có.
# Tải tài liệu
doc = aw.Document("C:\\Files\\sample_output.docx")
# Khởi tạo trình tạo tài liệu
builder = aw.DocumentBuilder(doc)
# Truy cập đoạn văn
paragraph = doc.sections[0].body.paragraphs[0].runs[0]
paragraph.text = "This is an updated text!"
# Lưu tài liệu
doc.save("C:\\Files\\sample_updated.docx")
Tìm và thay thế văn bản trong tài liệu Word bằng Python
Chúng tôi cũng có thể tìm thấy bất kỳ văn bản nào và thay thế nó bằng một văn bản mới bằng cách làm theo các bước dưới đây:
- Đầu tiên, tải tài liệu Word bằng lớp Tài liệu.
- Tiếp theo, tạo một thể hiện của lớp FindReplaceOptions.
- Sau đó, gọi phương thức Replace(). Nó lấy chuỗi tìm kiếm, chuỗi thay thế và đối tượng FindReplaceOptions làm đối số.
- Cuối cùng, gọi phương thức save() với đường dẫn tệp đầu ra để lưu tệp đã cập nhật.
Mẫu mã sau đây cho thấy cách tìm và thay thế văn bản cụ thể trong tài liệu Word (DOCX) bằng Python.
import aspose.words as aw
# Ví dụ mã này trình bày cách tìm và thay thế văn bản trong tài liệu Word.
# Tải tài liệu
doc = aw.Document("C:\\Files\\sample_output.docx")
# Cập nhật bằng cách sử dụng tìm và thay thế
# Chỉ định chuỗi tìm kiếm và chuỗi thay thế bằng phương pháp Replace.
doc.range.replace("Aspose.Words", "Hello",
aw.replacing.FindReplaceOptions(aw.replacing.FindReplaceDirection.FORWARD))
# Lưu tài liệu
doc.save("C:\\Files\\find_and_replace.docx")
Chuyển đổi tài liệu Word bằng Python
Chúng tôi có thể chuyển đổi tài liệu Word sang các định dạng khác như PDF, XPS, EPUB, HTML, JPG, PNG, v.v. Vui lòng làm theo các bước dưới đây để chuyển đổi tài liệu Word sang trang web HTML:
- Đầu tiên, tải tài liệu Word bằng lớp Tài liệu.
- Tiếp theo, tạo một thể hiện của lớp HtmlSaveOptions với đối tượng Document làm đối số.
- Sau đó, chỉ định các thuộc tính cssstylesheettype, exportfontresources, resourcefolder và alias.
- Cuối cùng, gọi phương thức save() với đường dẫn tệp đầu ra và đối tượng HtmlSaveOptions làm đối số để lưu tệp HTML đã chuyển đổi.
Mẫu mã sau đây cho thấy cách chuyển đổi tài liệu Word (DOCX) sang HTML bằng Python.
import aspose.words as aw
# Ví dụ mã này trình bày cách chuyển đổi tài liệu Word sang PDF.
# Tải tài liệu Word hiện có
doc = aw.Document("C:\\Files\\sample_output.docx")
# Chỉ định các tùy chọn lưu
saveOptions = aw.saving.HtmlSaveOptions()
saveOptions.css_style_sheet_type = aw.saving.CssStyleSheetType.EXTERNAL
saveOptions.export_font_resources = True
saveOptions.resource_folder = "C:\\Files\\Resources"
saveOptions.resource_folder_alias = "C:/Files/resources"
# Lưu tài liệu đã chuyển đổi
doc.save("C:\\Files\\Converted.html", saveOptions)
Tương tự, chúng ta cũng có thể chuyển đổi tài liệu Word sang các định dạng được hỗ trợ khác. Vui lòng đọc thêm về cách chuyển đổi Word sang EPUB, Word sang PDF, Word document to Markdown, Word sang JPG hoặc PNG hình ảnh trong tài liệu .
Phân tích cú pháp tài liệu Word bằng Python
Chúng tôi có thể phân tích cú pháp tài liệu Word và trích xuất nội dung dưới dạng văn bản thuần túy bằng cách làm theo các bước dưới đây:
- Đầu tiên, tải tài liệu Word bằng lớp Tài liệu.
- Tiếp theo, giải nén và in văn bản.
- Cuối cùng, gọi phương thức save() để lưu tài liệu Word dưới dạng tệp văn bản. Phương thức này lấy đường dẫn của tệp đầu ra làm đối số.
Mẫu mã sau đây cho thấy cách phân tích cú pháp tài liệu Word (DOCX) bằng Python.
import aspose.words as aw
# Ví dụ mã này trình bày cách phân tích cú pháp tài liệu Word.
# Tải tài liệu
doc = aw.Document("C:\\Files\\Sample.docx")
# Trích xuất văn bản
print(doc.range.text)
# Lưu dưới dạng văn bản thuần túy
doc.save("C:\\Files\\output.txt")
Nhận giấy phép miễn phí
Bạn có thể nhận giấy phép tạm thời miễn phí để dùng thử thư viện mà không có giới hạn đánh giá.
Sự kết luận
Trong bài viết này, chúng tôi đã học cách:
- tự động hóa MS Word bằng Python;
- tạo và chỉnh sửa tài liệu Word theo chương trình;
- phân tích cú pháp hoặc chuyển đổi tệp DOCX;
- tìm và thay thế văn bản trong tài liệu Word bằng Python.
Bên cạnh đó, bạn có thể tìm hiểu thêm về API Aspose.Words for Python bằng cách sử dụng tài liệu. Trong trường hợp có bất kỳ sự mơ hồ nào, vui lòng liên hệ với chúng tôi trên diễn đàn.