Overview

ترکیب اسناد ورد یک نیاز رایج در بسیاری از برنامه‌ها است، چه برای ترکیب گزارش‌ها، چه برای ادغام اطلاعات و یا فقط برای ساده‌سازی مدیریت اسناد. در این مقاله، ما به بررسی چگونگی ترکیب فایل‌های DOCX با استفاده از پایتون و کتابخانه GroupDocs.Merger خواهیم پرداخت. این کتابخانه قدرتمند به توسعه‌دهندگان این امکان را می‌دهد که به راحتی اسناد ورد را به صورت برنامه‌نویسی دستکاری کنند و در عین حال عملکرد و دقت بالایی را تضمین کنند.

این راهنما شامل موارد زیر می‌شود:

How to merge multiple DOCX files

ترکیب چندین فایل DOCX با کتابخانه GroupDocs.Merger ساده است. در زیر، مراحل کلیدی درگیر در این فرآیند را شرح می‌دهیم:

  1. وارد کردن بسته GroupDocs.Merger: با وارد کردن کتابخانه مورد نیاز شروع کنید.
  2. ایجاد یک شی Merger: با استفاده از مسیر فایل DOCX اول، کلاس Merger را شی‌سازی کنید.
  3. پیوستن به اسناد اضافی: از متد join برای افزودن سایر فایل‌های DOCX که می‌خواهید ترکیب کنید، استفاده کنید.
  4. ذخیره سند ترکیب شده: در نهایت، متد save را فراخوانی کنید تا سند ترکیب شده را به مسیر خروجی مشخص شده بنویسید.

در اینجا یک قطعه کد پایتون نشان‌دهنده این مراحل است:

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"Document info retrieved successfully")
        
        # 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"Merge to: {constants.output_docx}")
    
    print(f"----------------------------------------------------------------------------")

Merge DOCX documents without section breaks

گاهی اوقات، ترکیب اسناد نیاز دارد که محتویات بدون درج شکست‌های بخش به هم متصل شوند. این می‌تواند به حفظ جریان اطلاعات در بین اسناد ترکیب شده کمک کند.

  1. ایجاد یک شی Merger: مانند قبل، کلاس Merger را راه‌اندازی کنید.
  2. تنظیم گزینه‌های پیوستن: WordJoinOptions را تعریف کنید و mode را به DISABLE_SECTION_BREAKS تنظیم کنید.
  3. پیوستن به اسناد: سند اضافی را برای ترکیب اضافه کنید.
  4. ذخیره نتیجه: خروجی نهایی را به یک فایل DOCX جدید بنویسید.

در اینجا چگونگی انجام این کار آمده است:

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"Document info retrieved successfully")
        
        # 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"Merge to: {constants.output_doc_without_section_breaks}")
    
    print(f"----------------------------------------------------------------------------")

Merge DOCX documents with predefined compliance modes

برای موارد خاص، اسناد ممکن است نیاز به رعایت استانداردهای خاصی داشته باشند. GroupDocs.Merger این امکان را می‌دهد که اسناد را با حالت‌های انطباق از پیش تعریف شده در هم ترکیب کنید تا اطمینان حاصل کنید که خروجی به عنوان مثال، مطابق با استانداردهای ISO است.

  1. ایجاد یک شی Merger: کلاس Merger را با سند پایه خود راه‌اندازی کنید.
  2. تنظیم حالت انطباق: یک شی WordJoinOptions ایجاد کنید و ویژگی compliance را تنظیم کنید.
  3. پیوستن به اسناد: سند اضافی را با استفاده از متد join اضافه کنید.
  4. ذخیره سند نهایی: آن را در مکان خروجی دلخواه خود ذخیره کنید.

در اینجا کد مربوط به این عملیات آمده است:

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"Document info retrieved successfully")
        
        # 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"Merge to: {constants.output_docx_with_predefined_compliance_mode}")
    
    print(f"----------------------------------------------------------------------------")

How to merge DOCX from streams

شما همچنین می‌توانید فایل‌های DOCX را از جریان‌های حافظه‌ی در حال اجرا ترکیب کنید که می‌تواند زمانی که با اسناد به‌طور دینامیک تولید شده سر و کار دارید، مفید باشد.

  1. دریافت جریان فایل: سند خود را در حالت باینری باز کنید تا جریان را بگیرید.
  2. ایجاد شی Merger: کلاس Merger را با استفاده از جریان شی‌سازی کنید.
  3. انجام عمل ترکیب: طبق نیاز ترکیب کنید و خروجی را ذخیره کنید.

در اینجا نحوه اجرای این کار آمده است:

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"Document loaded from stream successfully")
    
    print(f"----------------------------------------------------------------------------")

def get_file_stream():
    file_path = constants.sample_docx
    return open(file_path, "rb")

See also

برای جزئیات بیشتر، می‌توانید منابع زیر را مطالعه کنید:

شما همچنین می‌توانید از releases.groupdocs.com یک نسخه‌ی آزمایشی رایگان دانلود کنید و یک مجوز موقت برای امتحان کتابخانه بدون محدودیت در خرید مجوز موقت دریافت کنید.

Code Examples

در اینجا چند مثال اضافی برای کمک به شما در درک روند ترکیب با کتابخانه GroupDocs.Merger برای پایتون آمده است:

Merge Word Documents Without Starting From a New Page

این مثال نشان می‌دهد که چگونه اسناد را ترکیب کنید تا آخرین صفحه از سند اول بلافاصله پس از اولین صفحه از سند بعدی قرار بگیرد، بدون اینکه صفحه جدیدی در بین آنها وارد شود.

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"Document info retrieved successfully")
        
        # 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"Merge to: {constants.output_doc_without_starting_from_new_page}")
    
    print(f"----------------------------------------------------------------------------")

Merge Multiple Documents with Custom Join Options

در اینجا نحوه ترکیب مستندات DOCX در حالی که گزینه‌های پیوست خاصی را تنظیم می‌کنید، مانند رعایت یک استاندارد ISO خاص آمده است.

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"Document info retrieved successfully")
        
        # 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"Merge to: {constants.output_docx_with_predefined_compliance_mode}")
    
    print(f"----------------------------------------------------------------------------")

See also

برای کاوش بیشتر درباره GroupDocs.Merger و قابلیت‌های آن، می‌توانید منابع زیر را چک کنید:

Free Trial and Temporary License

شما می‌توانید یک نسخه‌ی آزمایشی رایگان از GroupDocs.Merger را از صفحه انتشارات ما دانلود کنید. علاوه بر این، می‌توانید یک مجوز موقت برای اهداف آزمایشی در خرید مجوز موقت تهیه کنید. این مجوز موقت به شما این امکان را می‌دهد تا کتابخانه را بدون هیچ گونه محدودیت امتحان کنید و قابلیت‌های آن را به طور کامل ارزیابی کنید.