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

مثال عملي كامل لدمج مستندات Word متعددة في Java

يوضح هذا المثال كيفية دمج مستندات Word متعددة في Java باستخدام Merger API.

import com.groupdocs.merger.cloud.client.ApiClient;
import com.groupdocs.merger.cloud.client.ApiException;
import com.groupdocs.merger.cloud.api.MergerApi;
import com.groupdocs.merger.cloud.model.FileInfo;
import com.groupdocs.merger.cloud.model.MergeOptions;
import java.util.ArrayList;
import java.util.List;

public class CombineWordDocuments {
    public static void main(String[] args) {
        // Initialize the API client with your credentials
        ApiClient apiClient = new ApiClient("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET");
        MergerApi mergerApi = new MergerApi(apiClient);

try {
            // List of Word documents to combine
            List<FileInfo> sourceFiles = new ArrayList<>();
            sourceFiles.add(new FileInfo().setFilePath("input1.docx"));
            sourceFiles.add(new FileInfo().setFilePath("input2.docx"));
            sourceFiles.add(new FileInfo().setFilePath("input3.docx"));

// Configure merge options
            MergeOptions mergeOptions = new MergeOptions();
            mergeOptions.setOutputPath("merged_output.docx");
            mergeOptions.setFileInfos(sourceFiles);

// Execute the merge operation
            FileInfo result = mergerApi.merge(mergeOptions);

System.out.println("Merge completed successfully. Output file: " + result.getFilePath());
        } catch (ApiException e) {
            System.err.println("An error occurred while merging documents: " + e.getMessage());
        }
    }
}

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

دمج ملفات Word عبر REST API باستخدام cURL

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

المصادقة والحصول على رمز الوصول:

curl -X POST "https://api.groupdocs.cloud/v2.0/auth/token" \
     -H "Content-Type: application/json" \
     -d '{"client_id":"YOUR_CLIENT_ID","client_secret":"YOUR_CLIENT_SECRET"}'

حمّل كل ملف DOCX إلى التخزين السحابي الخاص بك (استبدل YOUR_ACCESS_TOKEN بالرمز من الخطوة السابقة):

curl -X PUT "https://api.groupdocs.cloud/v2.0/storage/file/input1.docx" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -H "Content-Type: application/vnd.openxmlformats-officedocument.wordprocessingml.document" \
     --data-binary @input1.docx

كرر أمر التحميل للملفات input2.docx و input3.docx.

إنشاء طلب الدمج:

curl -X POST "https://api.groupdocs.cloud/v2.0/merger/merge" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{
           "outputPath":"merged_output.docx",
           "fileInfos":[
               {"filePath":"input1.docx"},
               {"filePath":"input2.docx"},
               {"filePath":"input3.docx"}
           ]
         }'

قم بتنزيل المستند المدمج:

curl -X GET "https://api.groupdocs.cloud/v2.0/storage/file/merged_output.docx" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -o merged_output.docx

لمزيد من التفاصيل حول معلمات الطلب، راجع وثائق API الرسمية.

فهم عملية دمج مستندات Word في Java

فيما يلي تفصيل خطوة بخطوة للكود المعروض سابقًا.

  1. إنشاء ApiClient - new ApiClient("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET") يُنشئ اتصالًا بخدمة GroupDocs السحابية.

    ApiClient apiClient = new ApiClient("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET");
    
  2. إنشاء كائن MergerApi - new MergerApi(apiClient) يمنح الوصول إلى نقاط النهاية المتعلقة بالدمج.

    MergerApi mergerApi = new MergerApi(apiClient);
    
  3. تحضير قائمة ملفات المصدر - كل كائن FileInfo يشير إلى ملف DOCX مخزن في السحابة. يتم تمرير القائمة إلى MergeOptions.

    List<FileInfo> sourceFiles = new ArrayList<>();
    sourceFiles.add(new FileInfo().setFilePath("input1.docx"));
    
  4. تكوين MergeOptions - حدد مسار الإخراج المطلوب وأرفق قائمة ملفات المصدر.

    MergeOptions mergeOptions = new MergeOptions();
    mergeOptions.setOutputPath("merged_output.docx");
    mergeOptions.setFileInfos(sourceFiles);
    
  5. تنفيذ الدمج - mergerApi.merge(mergeOptions) يرسل الطلب ويعيد كائن FileInfo للمستند المدمج.

    FileInfo result = mergerApi.merge(mergeOptions);
    

للحصول على قائمة كاملة بالخصائص المتاحة، راجع مرجع API.

المتطلبات الأولية وإعداد GroupDocs.Merger Cloud SDK

قبل أن تتمكن من تشغيل الكود، أضف تبعية Maven إلى مشروعك وتأكد من أن لديك حساب GroupDocs صالح.

أضف SDK إلى ملف pom.xml الخاص بك:

<dependency>
    <groupId>com.groupdocs</groupId>
    <artifactId>groupdocs-merger-cloud</artifactId>
    <version>25.11</version>
</dependency>

قم بتنزيل أحدث ملفات JAR ومصدرها من صفحة التنزيل.
ستحتاج أيضًا إلى Java 8 أو أعلى وإلى اتصال بالإنترنت لاستدعاءات السحابة.
أنشئ حساب GroupDocs، واحصل على Client ID و Client Secret، واحفظهما بأمان.

الخاتمة

دمج ملفات DOCX برمجيًا أصبح الآن بسيطًا مع GroupDocs.Merger Cloud SDK for Java. يوضح مثال الشيفرة ومقاطع cURL طريقتين مرنتين لدمج مستندات Word متعددة في Java، سواء كنت تفضل مكتبة أصلية أو استدعاءات REST مباشرة. تذكر ضبط بيانات الاعتماد الخاصة بك، ومعالجة الملفات الكبيرة عن طريق البث إذا لزم الأمر، واختبار عملية الدمج باستخدام مستندات تمثيلية. بالنسبة للنشر في بيئات الإنتاج ستحتاج إلى ترخيص مدفوع؛ تفاصيل التسعير متوفرة على صفحة المنتج ويمكنك طلب ترخيص مؤقت للتقييم من صفحة الترخيص المؤقت.

الأسئلة الشائعة

  • كيف يمكنني دمج مستندات Word متعددة في Java دون كتابة كود مخصص لمعالجة الملفات؟
    استخدم GroupDocs.Merger Cloud SDK for Java. يقوم SDK بتجريد جميع العمليات منخفضة المستوى ويسمح لك بدمج ملفات DOCX ببضع استدعاءات API.

  • هل من الممكن دمج المستندات المخزنة في مجلدات سحابية مختلفة؟
    نعم. قدم مسارات الملفات السحابية الكاملة في كائنات FileInfo، وستقوم عملية الدمج بجلب كل ملف من موقعه قبل دمجهما.

  • ماذا يجب أن أفعل إذا فشل الدمج مع ApiException؟
    تحقق من رسالة الاستثناء للحصول على تفاصيل مثل الملفات المفقودة أو مشاكل الأذونات. تأكد من صحة مسارات الملفات وأن حسابك يمتلك صلاحية القراءة/الكتابة على التخزين. راجع الوثائق الرسمية للحصول على رموز الأخطاء.

  • هل أحتاج إلى ترخيص منفصل لكل بيئة (التطوير، الاختبار، الإنتاج)؟
    يغطي ترخيص واحد جميع البيئات، ولكن يجب عليك الالتزام بحدود الاستخدام المحددة في اتفاقية الترخيص الخاصة بك. للاختبار يمكنك استخدام الترخيص المؤقت المرتبط أعلاه.

المزيد