Tổng quan
Việc gộp tài liệu Word là một yêu cầu phổ biến trong nhiều ứng dụng, bất kể là để kết hợp báo cáo, hợp nhất thông tin, hay chỉ đơn giản là đơn giản hóa việc quản lý tài liệu. Trong bài viết này, chúng ta sẽ khám phá cách gộp các tệp DOCX bằng Python với thư viện GroupDocs.Merger. Thư viện mạnh mẽ này cho phép các nhà phát triển dễ dàng thao tác tài liệu Word theo cách lập trình trong khi đảm bảo hiệu suất và độ chính xác cao.
Hướng dẫn này sẽ bao gồm:
- Cách gộp nhiều tệp DOCX
- Cách gộp tài liệu mà không có ngắt tiết
- Cách gộp với các chế độ tuân thủ đã định nghĩa trước
- Xử lý luồng tài liệu trong Python
Cách gộp nhiều tệp DOCX
Gộp nhiều tệp DOCX là điều đơn giản với thư viện GroupDocs.Merger. Dưới đây, chúng tôi phác thảo các bước chính trong quy trình này:
- Nhập gói GroupDocs.Merger: Bắt đầu bằng việc nhập thư viện cần thiết.
- Tạo một thể hiện Merger: Khởi tạo lớp Merger bằng cách sử dụng đường dẫn tệp DOCX đầu tiên.
- Gộp thêm các tài liệu khác: Sử dụng phương thức
join
để thêm các tệp DOCX khác mà bạn muốn gộp. - Lưu tài liệu đã gộp: Cuối cùng, gọi phương thức
save
để ghi tài liệu đã gộp vào một đường dẫn đầu ra xác định.
Dưới đây là một đoạn mã Python minh họa các bước này:
import groupdocs.merger as gm
import constants
def run():
print(f"----------------------------------------------------------------------------")
print(f"[Example Basic Usage] # MultipleDocumentOperations # Merge : Docx")
# Step 1: Create a Merger object with the first document
with gm.Merger(constants.sample_docx) as merger:
print(f"Thông tin tài liệu đã được lấy thành công")
# Step 2: Join another DOCX file to merge
merger.join(constants.sample_docx)
# Step 3: Save the merged document
merger.save(constants.output_docx)
print(f"Gộp tới: {constants.output_docx}")
print(f"----------------------------------------------------------------------------")
Gộp tài liệu DOCX mà không có ngắt tiết
Đôi khi, việc gộp tài liệu yêu cầu rằng nội dung được kết hợp mà không chèn ngắt tiết. Điều này có thể giúp duy trì luồng thông tin giữa các tài liệu đã gộp.
- Tạo một thể hiện Merger: Giống như trước, khởi tạo lớp Merger.
- Đặt tùy chọn gộp: Xác định
WordJoinOptions
và đặtmode
thànhDISABLE_SECTION_BREAKS
. - Gộp tài liệu: Thêm tài liệu bổ sung vào để gộp.
- Lưu kết quả: Ghi đầu ra cuối cùng vào một tệp DOCX mới.
Dưới đây là cách bạn có thể thực hiện điều này:
import groupdocs.merger as gm
import constants
def run():
print(f"----------------------------------------------------------------------------")
print(f"[Example Basic Usage] # MultipleDocumentOperations # Merge # Word : MergeWordDocumentsWithoutSectionBreaks")
# Step 1: Create a Merger object with the source document
with gm.Merger(constants.sample_doc) as merger:
print(f"Thông tin tài liệu đã được lấy thành công")
# Step 2: Define Word join options to disable section breaks
word_join_options = gm.domain.options.WordJoinOptions()
word_join_options.mode = gm.domain.options.WordJoinMode.DISABLE_SECTION_BREAKS
# Step 3: Join the document without section breaks
merger.join(constants.sample_doc, word_join_options)
# Step 4: Save the merged document
merger.save(constants.output_doc_without_section_breaks)
print(f"Gộp tới: {constants.output_doc_without_section_breaks}")
print(f"----------------------------------------------------------------------------")
Gộp tài liệu DOCX với các chế độ tuân thủ đã định nghĩa trước
Đối với các trường hợp sử dụng cụ thể, tài liệu có thể cần tuân thủ các tiêu chuẩn nhất định. GroupDocs.Merger cho phép bạn gộp tài liệu với các chế độ tuân thủ đã định nghĩa trước để đảm bảo, ví dụ, rằng đầu ra đáp ứng các tiêu chuẩn ISO.
- Tạo một thể hiện Merger: Khởi tạo lớp Merger với tài liệu cơ sở của bạn.
- Đặt chế độ tuân thủ: Tạo một đối tượng
WordJoinOptions
và đặt thuộc tínhcompliance
. - Gộp tài liệu: Thêm tài liệu bổ sung bằng phương thức join.
- Lưu tài liệu cuối cùng: Lưu nó vào vị trí đầu ra mà bạn mong muốn.
Dưới đây là mã cho hoạt động này:
import groupdocs.merger as gm
import constants
def run():
print(f"----------------------------------------------------------------------------")
print(f"[Example Basic Usage] # MultipleDocumentOperations # Merge # Word : MergeWordDocumentsWithPredefinedComplianceMode")
# Step 1: Create a Merger object with the document
with gm.Merger(constants.sample_docx) as merger:
print(f"Thông tin tài liệu đã được lấy thành công")
# Step 2: Define Word join options with predefined compliance mode
word_join_options = gm.domain.options.WordJoinOptions()
word_join_options.compliance = gm.domain.options.WordJoinCompliance.ISO_29500_2008_STRICT
# Step 3: Join another document with compliance mode
merger.join(constants.sample_docx, word_join_options)
# Step 4: Save the merged document
merger.save(constants.output_docx_with_predefined_compliance_mode)
print(f"Gộp tới: {constants.output_docx_with_predefined_compliance_mode}")
print(f"----------------------------------------------------------------------------")
Cách gộp DOCX từ luồng
Bạn cũng có thể gộp các tệp DOCX từ các luồng trong bộ nhớ, điều này có thể hữu ích khi bạn đang xử lý các tài liệu được tạo động.
- Lấy một luồng tệp: Mở tài liệu của bạn ở chế độ nhị phân để lấy luồng.
- Tạo thể hiện Merger: Khởi tạo lớp
Merger
bằng cách sử dụng luồng. - Thực hiện hoạt động gộp: Gộp như yêu cầu và lưu đầu ra.
Dưới đây là cách bạn sẽ thực hiện điều này:
from turtle import update
import groupdocs.merger as gm
import constants
def run():
print(f"----------------------------------------------------------------------------")
print(f"[Example Advanced Usage] # Loading # LoadDocumentFromStream")
# Step 1: Get the document stream
stream = get_file_stream()
# Step 2: Create a Merger instance using the stream
with gm.Merger(stream) as merger:
print(f"Tài liệu đã được tải từ luồng thành công")
print(f"----------------------------------------------------------------------------")
def get_file_stream():
file_path = constants.sample_docx
return open(file_path, "rb")
Xem thêm
Để biết thêm chi tiết, bạn có thể khám phá các tài nguyên sau:
- Tài liệu GroupDocs.Merger cho Python
- Tham khảo API cho GroupDocs.Merger
- Ví dụ GitHub cho GroupDocs.Merger
Bạn cũng có thể tải xuống bản dùng thử miễn phí từ releases.groupdocs.com và nhận giấy phép tạm thời để thử nghiệm thư viện mà không bị hạn chế tại Mua Giấy phép Tạm thời.
Ví dụ mã
Dưới đây là một số ví dụ bổ sung để giúp bạn hiểu quy trình gộp với thư viện GroupDocs.Merger cho Python:
Gộp Tài Liệu Word Mà Không Bắt Đầu Từ Trang Mới
Ví dụ này minh họa cách gộp các tài liệu sao cho trang cuối của tài liệu đầu tiên được theo sau trực tiếp bởi trang đầu tiên của tài liệu tiếp theo, mà không có bất kỳ trang mới nào được chèn vào giữa.
import groupdocs.merger as gm
import constants
def run():
print(f"----------------------------------------------------------------------------")
print(f"[Example Basic Usage] # MultipleDocumentOperations # Merge # Word : MergeWordDocumentsWithoutStartingFromNewPage")
# Step 1: Create a Merger object with the document
with gm.Merger(constants.sample_doc) as merger:
print(f"Thông tin tài liệu đã được lấy thành công")
# Step 2: Define Word join options for continuous mode
word_join_options = gm.domain.options.WordJoinOptions()
word_join_options.mode = gm.domain.options.WordJoinMode.CONTINUOUS
# Step 3: Join documents without inserting new page
merger.join(constants.sample_doc, word_join_options)
# Step 4: Save the merged document
merger.save(constants.output_doc_without_starting_from_new_page)
print(f"Gộp tới: {constants.output_doc_without_starting_from_new_page}")
print(f"----------------------------------------------------------------------------")
Gộp Nhiều Tài Liệu Với Tùy Chọn Gộp Tùy Chỉnh
Đây là cách gộp các tài liệu DOCX trong khi đặt các tùy chọn gộp cụ thể, chẳng hạn như tuân thủ theo tiêu chuẩn ISO cụ thể.
import groupdocs.merger as gm
import constants
def run():
print(f"----------------------------------------------------------------------------")
print(f"[Example Advanced Usage] # Merge with Custom Join Options")
# Step 1: Create a Merger object with the base document
with gm.Merger(constants.sample_docx) as merger:
print(f"Thông tin tài liệu đã được lấy thành công")
# Step 2: Set custom join options for predefined compliance mode
word_join_options = gm.domain.options.WordJoinOptions()
word_join_options.compliance = gm.domain.options.WordJoinCompliance.ISO_29500_2008_STRICT
# Step 3: Join another document with compliance settings
merger.join(constants.sample_docx, word_join_options)
# Step 4: Save the merged document
merger.save(constants.output_docx_with_predefined_compliance_mode)
print(f"Gộp tới: {constants.output_docx_with_predefined_compliance_mode}")
print(f"----------------------------------------------------------------------------")
Xem thêm
Để khám phá thêm về GroupDocs.Merger và các chức năng của nó, bạn có thể xem các tài nguyên sau:
- Tài liệu GroupDocs.Merger cho Python
- Tham khảo API cho GroupDocs.Merger
- Ví dụ mã GitHub cho GroupDocs.Merger
- Trang phát hành cho GroupDocs.Merger
Bản Dùng Thử Miễn Phí và Giấy Phép Tạm Thời
Bạn có thể tải xuống bản dùng thử miễn phí của GroupDocs.Merger từ trang phát hành. Ngoài ra, bạn có thể nhận giấy phép tạm thời để thử nghiệm tại Mua Giấy phép Tạm thời. Giấy phép tạm thời này cho phép bạn thử nghiệm thư viện mà không có bất kỳ hạn chế nào và đánh giá đầy đủ khả năng của nó.