بصفتك مطور Python ، يمكنك مقارنة مستندين أو أكثر من مستندات Word (.docx) لأوجه التشابه والاختلاف برمجيًا على السحابة. تساعدك مقارنة المستندات على تعقب التغييرات في مستندات Word. ستركز هذه المقالة على كيفية مقارنة مستندين أو أكثر من مستندات Word باستخدام واجهة برمجة تطبيقات REST في Python.

سيتم تناول الموضوعات التالية في هذه المقالة:

مقارنة المستندات REST API و Python SDK

GroupDocs.Comparison for Cloud

لمقارنة مستندات Microsoft Word ، سأستخدم Python SDK of GroupDocs.Comparison Cloud API. يقارن بين مستندين من تنسيقات الملفات المدعومة ويجد الاختلافات بينهما. ونتيجة لذلك ، يقوم بإنشاء ملف ناتج يحتوي على اختلافات ويتيح لك قبول التغييرات المستردة أو رفضها. يمكن دمجها بسهولة في تطبيقات Python الحالية ، لتمكين المستخدمين النهائيين لديك من مقارنة المستندات وجداول البيانات والعروض التقديمية ومخططات Microsoft Visio ورسائل البريد الإلكتروني والملفات من العديد من التنسيقات الأخرى. كما يوفر NET و Java و PHP و Ruby SDKs باعتبارها أعضاء عائلة مقارنة المستندات لواجهة برمجة التطبيقات السحابية.

يمكنك تثبيت GroupDocs.Comparison Cloud على مشروع Python الخاص بك باستخدام pip (package installer for python) باستخدام الأمر التالي في وحدة التحكم:

pip install groupdocs_comparison_cloud

يرجى الحصول على معرّف العميل وسر العميل من لوحة القيادة قبل البدء في اتباع الخطوات وأمثلة الكود المتاحة. أضف المعرف الخاص بك والسر في الكود كما هو موضح أدناه:

client_id = "112f0f38-9dae-42d5-b4fc-cc84ae644972"
client_secret = "16ad3fe0bdc39c910f57d2fd48a5d618"
my_storage = ""

configuration = groupdocs_comparison_cloud.Configuration(client_id, client_secret)
configuration.api_base_url = "https://api.groupdocs.cloud"

قارن مستندات Word باستخدام واجهة برمجة تطبيقات REST في Python

يمكنك مقارنة مستندين من مستندات Word باتباع الخطوات البسيطة المذكورة أدناه:

قم بتحميل المستند

بادئ ذي بدء ، قم بتحميل المصدر واستهداف مستندات Word إلى السحابة باستخدام مثال الكود الموضح أدناه:

# تهيئة API
file_api = groupdocs_comparison_cloud.FileApi.from_config(configuration)
storage_api = groupdocs_comparison_cloud.StorageApi.from_config(configuration)

# تحميل ملفات عينة
for filename in glob.iglob("C:\\Files\\*.docx", recursive=True):
    destFile = filename.replace("C:\\Files\\", "", 1)            
    fileExistsResponse = storage_api.object_exists(groupdocs_comparison_cloud.ObjectExistsRequest(destFile))
    if not fileExistsResponse.exists:                                
        file_api.upload_file(groupdocs_comparison_cloud.UploadFileRequest(destFile, filename))
        print("Uploaded file: "+ destFile)

نتيجة لذلك ، ستتوفر ملفات DOCX التي تم تحميلها (source.docx ، target.docx) في قسم الملفات من لوحة المعلومات الخاصة بك على السحابة.

قارن ملفات Word في Python

يرجى اتباع الخطوات المذكورة أدناه لمقارنة وثيقتين Word برمجيًا.

  • قم بإنشاء مثيل لـ CompareApi
  • قم بتعيين ملف .docx المصدر
  • قم بتعيين ملف .docx الهدف
  • تحديد خيارات المقارنة
  • إنشاء طلب مقارنات
  • احصل على النتائج عن طريق استدعاء الأسلوب CompareApi.comparisons()

يوضح مقتطف الشفرة التالي كيفية مقارنة مستندين من مستندات Word باستخدام واجهة برمجة تطبيقات REST.

# إنشاء مثيلات API الضرورية
api_instance = groupdocs_comparison_cloud.CompareApi.from_keys(client_id, client_secret)

source = groupdocs_comparison_cloud.FileInfo()
source.file_path = "source.docx"

target = groupdocs_comparison_cloud.FileInfo()
target.file_path = "target.docx"

options = groupdocs_comparison_cloud.ComparisonOptions()
options.source_file = source
options.target_files = [target]
options.output_path = "Output/result.docx"

request = groupdocs_comparison_cloud.ComparisonsRequest(options)
response = api_instance.comparisons(request)

يمكنك توفير كلمة المرور للملفات المصدر أو الهدف المحمية بكلمة مرور كما هو موضح أدناه:

target.password = "5784"

يمكنك أيضًا تحديد إعدادات متنوعة ليتم تطبيقها أثناء المقارنة وتعيينها إلى ComparisonOptions كما هو موضح أدناه:

settings = groupdocs_comparison_cloud.Settings()

# قارن الحساسية
settings.sensitivity_of_comparison = 100

# تخصيص الأنماط للتغييرات
settings.inserted_items_style = groupdocs_comparison_cloud.ItemsStyle()
settings.inserted_items_style.highlight_color = "14297642"
settings.inserted_items_style.font_color = "16711680"
settings.inserted_items_style.underline = True
settings.deleted_items_style = groupdocs_comparison_cloud.ItemsStyle()
settings.deleted_items_style.font_color = "14166746"
settings.deleted_items_style.bold = True
settings.changed_items_style = groupdocs_comparison_cloud.ItemsStyle()
settings.changed_items_style.font_color = "14320170"
settings.changed_items_style.italic = True

options.settings = settings

قم بتنزيل الملف الناتج

سيحفظ نموذج الكود أعلاه الاختلافات في ملف DOCX تم إنشاؤه حديثًا على السحابة. يمكنك تنزيله باستخدام نموذج التعليمات البرمجية التالي:

# إنشاء مثيل من API
file_api = groupdocs_comparison_cloud.FileApi.from_config(configuration)

request = groupdocs_comparison_cloud.DownloadFileRequest("Output\\result.docx", my_storage)
response = file_api.download_file(request)

# انقل الملف الذي تم تنزيله إلى دليل العمل الخاص بك
shutil.move(response, "C:\\Files\\")        
قارن مستندات Word باستخدام واجهة برمجة تطبيقات REST في Python

يحتوي الملف الناتج أيضًا على صفحة ملخص في نهاية المستند كما هو موضح أدناه:

صفحة الملخص

قارن عدة ملفات Word باستخدام Python

يرجى اتباع الخطوات المذكورة أدناه لمقارنة مستندات Word متعددة باستخدام Python.

  • قم بإنشاء مثيل لـ CompareApi
  • قم بتعيين ملف .docx المصدر
  • تعيين ملفات .docx متعددة الهدف
  • حدد خيارات ComparisonOptions إذا لزم الأمر
  • إنشاء طلب مقارنات
  • احصل على النتائج عن طريق استدعاء الأسلوب CompareApi.comparisons()

يوضح مقتطف الشفرة التالي كيفية مقارنة مستندات Word المتعددة باستخدام Python. يرجى اتباع الخطوات المذكورة سابقًا لتحميل ملفات DOCX متعددة.

# إنشاء مثيلات API الضرورية
api_instance = groupdocs_comparison_cloud.CompareApi.from_keys(client_id, client_secret)

source = groupdocs_comparison_cloud.FileInfo()
source.file_path = "source.docx"
    
target1 = groupdocs_comparison_cloud.FileInfo()
target1.file_path = "target.docx"
    
target2 = groupdocs_comparison_cloud.FileInfo()
target2.file_path = "target2.docx"
    
options = groupdocs_comparison_cloud.ComparisonOptions()
options.source_file = source
options.target_files = [target1, target2]
options.output_path = "Output/result.docx"

request = groupdocs_comparison_cloud.ComparisonsRequest(options)
response = api_instance.comparisons(request)

يرجى تجربة أداة مقارنة DOCX المجانية التالية عبر الإنترنت ، والتي تم تطويرها باستخدام واجهة برمجة التطبيقات المذكورة أعلاه. https://products.groupdocs.app/comparison/docx

خاتمة

في هذه المقالة ، تعلمت كيفية مقارنة مستندات Microsoft Word على السحابة بمقارنة المستندات REST API باستخدام Python. لقد تعلمت أيضًا كيفية تحميل ملفين أو أكثر برمجيًا على السحابة ثم تنزيل الملف الناتج من السحابة. يمكنك معرفة المزيد حول GroupDocs.Comparison Cloud API باستخدام التوثيق. نوفر أيضًا قسم مرجع واجهة برمجة التطبيقات الذي يتيح لك تصور واجهات برمجة التطبيقات الخاصة بنا والتفاعل معها مباشرةً من خلال المتصفح. في حالة وجود أي غموض ، فلا تتردد في الاتصال بنا على المنتدى.