نظرة عامة

يعد دمج مستندات Word مطلبًا شائعًا في العديد من التطبيقات، سواء لجمع التقارير أو توحيد المعلومات أو مجرد تبسيط إدارة المستندات. في هذه المقالة، سنستكشف كيفية دمج ملفات DOCX باستخدام بايثون مع مكتبة GroupDocs.Merger. هذه المكتبة القوية تتيح للمطورين التلاعب بمستندات Word برمجيًا بسهولة مع ضمان أداء دقيق وعالي.

سيتناول هذا الدليل:

كيفية دمج عدة ملفات DOCX

يعد دمج عدة ملفات DOCX أمرًا سهلاً مع مكتبة GroupDocs.Merger. أدناه، نوضح الخطوات الرئيسية المتبعة في هذه العملية:

  1. استيراد حزمة GroupDocs.Merger: ابدأ باستيراد المكتبة المطلوبة.
  2. إنشاء مثيل للدمج: قم بإنشاء كائن من فئة Merger باستخدام مسار الملف الأول DOCX.
  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"----------------------------------------------------------------------------")

دمج مستندات DOCX بدون فواصل قسم

في بعض الأحيان، يتطلب دمج المستندات أن يتم دمج المحتويات بدون إدراج فواصل قسم. يمكن أن يساعد هذا في الحفاظ على تدفق المعلومات عبر المستندات المدمجة.

  1. إنشاء مثيل للدمج: مثل المعتاد، قم بتهيئة فئة 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"----------------------------------------------------------------------------")

دمج مستندات DOCX مع أوضاع امتثال محددة مسبقًا

للحالات الخاصة، قد تحتاج المستندات إلى الامتثال لمعايير معينة. تسمح لك GroupDocs.Merger بدمج المستندات مع أوضاع امتثال محددة مسبقًا لضمان، على سبيل المثال، أن النتيجة تفي بمعايير ISO.

  1. إنشاء مثيل للدمج: ابدأ بتكوين فئة Merger مع مستندك الأساسي.
  2. تعيين وضع الامتثال: قم بإنشاء كائن WordJoinOptions واضبط خاصية compliance.
  3. ضم المستندات: أضف المستند الإضافي باستخدام طريقة الدمج.
  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"----------------------------------------------------------------------------")

كيفية دمج DOCX من تدفقات

يمكنك أيضًا دمج ملفات DOCX من تدفقات الذاكرة، وهو ما قد يكون مفيدًا عند التعامل مع مستندات تم إنشاؤها ديناميكيًا.

  1. احصل على تدفق ملف: افتح مستندك في وضع ثنائي للحصول على التدفق.
  2. إنشاء مثيل للدمج: قم بتهيئة الفئة 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")

انظر أيضًا

للحصول على مزيد من التفاصيل، يمكنك استكشاف الموارد التالية:

يمكنك أيضًا تنزيل نسخة تجريبية مجانية من releases.groupdocs.com والحصول على ترخيص مؤقت لتجربة المكتبة بدون قيود على شراء ترخيص مؤقت.

أمثلة شفرة

إليك بعض الأمثلة الإضافية لمساعدتك على فهم عملية الدمج مع مكتبة GroupDocs.Merger لبايثون:

دمج مستندات Word بدون البدء من صفحة جديدة

توضح هذه المثال كيفية دمج المستندات بحيث تتبع الصفحة الأخيرة للمستند الأول مباشرةً صفحة الأولى من المستند التالي، بدون إدراج أي صفحة جديدة.

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"----------------------------------------------------------------------------")

دمج مستندات متعددة مع خيارات دمج مخصصة

إليك كيفية دمج مستندات 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"----------------------------------------------------------------------------")

انظر أيضًا

لاستكشاف المزيد حول GroupDocs.Merger ووظائفها، يمكنك الاطلاع على الموارد التالية:

النسخة التجريبية المجانية والترخيص المؤقت

يمكنك تنزيل نسخة تجريبية مجانية من GroupDocs.Merger من صفحة الإصدارات. بالإضافة إلى ذلك، يمكنك الحصول على ترخيص مؤقت لأغراض تقييمية على شراء ترخيص مؤقت. يسمح لك هذا الترخيص المؤقت بتجربة المكتبة دون أي قيود وتقييم قدراتها بالكامل.