قارن ملفات PDF باستخدام REST API في Python

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

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

REST API لمقارنة ملفات PDF و Python SDK

لمقارنة مستندات PDF ، سنستخدم Python SDK of GroupDocs.Comparison Cloud API. يسمح لك بمقارنة وثيقتين أو أكثر من التنسيقات المدعومة والعثور على الاختلافات. الرجاء تثبيته باستخدام الأمر التالي في وحدة التحكم:

pip install groupdocs_comparison_cloud

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

# يوضح مثال الرمز هذا كيفية تعيين معرف العميل والسرية.
client_id = "659fe7da-715b-4744-a0f7-cf469a392b73"
client_secret = "b377c36cfa28fa69960ebac6b6e36421"

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

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

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

  1. تحميل ملفات PDF على السحابة
  2. [قارن ملفات PDF](# Compare-PDF-Files-using-Python)
  3. تنزيل ملف PDF الناتج

قم بتحميل ملفات PDF

أولاً ، سنقوم بتحميل ملفات PDF المصدر والموجهة إلى السحابة باستخدام نموذج الكود التالي:

# يوضح مثال الرمز هذا كيفية تحميل ملفات PDF إلى السحابة.
# إنشاء مثيل من API
file_api = groupdocs_comparison_cloud.FileApi.from_config(configuration)

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

نتيجة لذلك ، ستكون الملفات التي تم تحميلها متاحة في قسم الملفات من لوحة القيادة على السحابة.

قارن ملفات PDF باستخدام Python

يمكننا مقارنة وثيقتين من ملفات PDF برمجيًا باتباع الخطوات الواردة أدناه:

  • أولاً ، قم بإنشاء مثيل لـ CompareApi.
  • بعد ذلك ، قم بإنشاء مثيل FileInfo.
  • ثم قم بتعيين مسار ملف PDF المصدر.
  • بعد ذلك ، قم بإنشاء مثيل آخر من FileInfo.
  • ثم ، قم بتعيين مسار ملف PDF الهدف.
  • بعد ذلك ، قم بإنشاء مثيل لـ ComparisonOptions.
  • ثم ، قم بتعيين المصدر والملفات الهدف.
  • أيضا ، قم بتعيين مسار ملف الإخراج.
  • بعد ذلك ، قم بإنشاء مثيل لكائن ComparisonRequest مع ComparisonOptions
  • أخيرًا ، احصل على النتائج عن طريق استدعاء طريقة CompareApi.comparisons() باستخدام ComparisonsRequest كوسيطة.

يوضح نموذج التعليمات البرمجية التالي كيفية مقارنة ملفي PDF باستخدام REST API في Python.

# يوضح مثال الكود هذا كيفية مقارنة ملفي PDF.
# إنشاء مثيل لواجهة برمجة التطبيقات
api_instance = groupdocs_comparison_cloud.CompareApi.from_keys(client_id, client_secret)

# إدخال ملف مصدر
source = groupdocs_comparison_cloud.FileInfo()
source.file_path = "source.pdf"

# الملف الهدف
target = groupdocs_comparison_cloud.FileInfo()
target.file_path = "target.pdf"

# تحديد خيارات المقارنة
options = groupdocs_comparison_cloud.ComparisonOptions()
options.source_file = source
options.target_files = [target]
options.output_path = "result.pdf"

# إنشاء طلب مقارنة
request = groupdocs_comparison_cloud.ComparisonsRequest(options)

# يقارن
response = api_instance.comparisons(request)
قارن بين ملفي PDF باستخدام واجهة برمجة تطبيقات REST في Python

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

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

صفحة الملخص.

تظهر صفحة الملخص إجمالي العناصر المحذوفة أو المدرجة.

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

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

# يوضح مثال الكود هذا كيفية تنزيل الملف الناتج.
# إنشاء مثيل من API
file_api = groupdocs_comparison_cloud.FileApi.from_config(configuration)

# طلب إنشاء ملف تنزيل
request = groupdocs_comparison_cloud.DownloadFileRequest("result.pdf", my_storage)

# تحميل الملف
response = file_api.download_file(request)

# انقل الملف الذي تم تنزيله إلى دليل العمل الخاص بك
shutil.move(response, "C:\\Files\\") 

قارن ملفات PDF المتعددة في Python

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

  • أولاً ، قم بإنشاء مثيل لـ CompareApi.
  • بعد ذلك ، قم بإنشاء مثيل FileInfo وقم بتعيين مسار ملف PDF المصدر.
  • بعد ذلك ، قم بإنشاء مثيل آخر من FileInfo وقم بتعيين مسار ملف PDF الهدف.
  • بعد ذلك ، كرر الخطوة أعلاه لإضافة المزيد من الملفات المستهدفة.
  • بعد ذلك ، قم بإنشاء مثيل لـ ComparisonOptions.
  • بعد ذلك ، قم بتعيين ملفات المصدر / الهدف وقم بتعيين مسار ملف الإخراج.
  • بعد ذلك ، قم بإنشاء مثيل لكائن ComparisonRequest مع ComparisonOptions
  • أخيرًا ، احصل على النتائج عن طريق استدعاء طريقة CompareApi.comparisons() باستخدام ComparisonsRequest كوسيطة.

يوضح نموذج التعليمات البرمجية التالي كيفية مقارنة ملفات PDF متعددة باستخدام واجهة برمجة تطبيقات REST في Python.

# يوضح مثال الكود هذا كيفية مقارنة ملفات PDF متعددة.
# إنشاء مثيلات API الضرورية
api_instance = groupdocs_comparison_cloud.CompareApi.from_keys(client_id, client_secret)

# مصدر PDF
source = groupdocs_comparison_cloud.FileInfo()
source.file_path = "source.pdf"

# الهدف PDF 1
target1 = groupdocs_comparison_cloud.FileInfo()
target1.file_path = "target.pdf"

# الهدف PDF 2
target2 = groupdocs_comparison_cloud.FileInfo()
target2.file_path = "target2.pdf"

# تحديد خيارات المقارنة
options = groupdocs_comparison_cloud.ComparisonOptions()
options.source_file = source
options.target_files = [target1, target2]
options.output_path = "result.pdf"

# إنشاء طلب المقارنة والمقارنة
request = groupdocs_comparison_cloud.ComparisonsRequest(options)
response = api_instance.comparisons(request)

تخصيص نتائج المقارنة في بايثون

يمكننا تخصيص نمط التغييرات الموجودة في نتيجة عملية المقارنة باتباع الخطوات الواردة أدناه:

  • أولاً ، قم بإنشاء مثيل لـ CompareApi.
  • بعد ذلك ، قم بإنشاء مثيل FileInfo وقم بتعيين مسار ملف PDF المصدر.
  • بعد ذلك ، قم بإنشاء مثيل آخر من FileInfo وقم بتعيين مسار ملف PDF الهدف.
  • بعد ذلك ، قم بإنشاء مثيل للإعدادات.
  • بعد ذلك ، قم بتعيين حساسية المقارنة والخصائص المختلفة لتخصيص نمط العنصر.
  • بعد ذلك ، قم بإنشاء مثيل لـ ComparisonOptions.
  • بعد ذلك ، قم بتعيين ملفات المصدر / الهدف وقم بتعيين مسار ملف الإخراج.
  • بعد ذلك ، قم بإنشاء مثيل لكائن ComparisonRequest مع ComparisonOptions
  • أخيرًا ، احصل على النتائج عن طريق استدعاء طريقة CompareApi.comparisons() باستخدام ComparisonsRequest كوسيطة.

يوضح نموذج التعليمات البرمجية التالي كيفية تخصيص نتائج المقارنة باستخدام واجهة برمجة تطبيقات REST في Python.

# يوضح مثال الكود هذا كيفية تخصيص نتائج المقارنة.
# إنشاء مثيلات API الضرورية
api_instance = groupdocs_comparison_cloud.يقارنApi.from_keys(client_id, client_secret)

# مصدر PDF
source = groupdocs_comparison_cloud.FileInfo()
source.file_path = "source.pdf"

# الهدف PDF
target = groupdocs_comparison_cloud.FileInfo()
target.file_path = "target.pdf"

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 = groupdocs_comparison_cloud.ComparisonOptions()
options.source_file = source
options.target_files = [target]
options.output_path = "result.pdf"
options.settings = settings

# إنشاء طلب مقارنة
request = groupdocs_comparison_cloud.ComparisonsRequest(options)

# يقارن
response = api_instance.comparisons(request)

احصل على قائمة التغييرات في بايثون

يمكننا الحصول على قائمة بجميع التغييرات التي تم العثور عليها أثناء مقارنة ملفات PDF باتباع الخطوات الواردة أدناه:

  • أولاً ، قم بإنشاء مثيل لـ CompareApi.
  • بعد ذلك ، قم بإنشاء مثيل FileInfo وقم بتعيين مسار ملف PDF المصدر.
  • بعد ذلك ، قم بإنشاء مثيل آخر من FileInfo وقم بتعيين مسار ملف PDF الهدف.
  • بعد ذلك ، قم بإنشاء مثيل لـ ComparisonOptions.
  • بعد ذلك ، قم بتعيين ملفات المصدر / الهدف وقم بتعيين مسار ملف الإخراج.
  • بعد ذلك ، قم بإنشاء مثيل من PostChangesRequest مع كائن ComparisonOptions
  • أخيرًا ، احصل على النتائج عن طريق استدعاء الأسلوب CompareApi.post \ Changes() باستخدام ComparisonsRequest كوسيطة.

يوضح نموذج التعليمات البرمجية التالي كيفية الحصول على قائمة بالتغييرات باستخدام واجهة برمجة تطبيقات REST في Python.

# يوضح مثال الكود هذا كيفية الحصول على قائمة بجميع التغييرات.
# إنشاء مثيلات API الضرورية
api_instance = groupdocs_comparison_cloud.CompareApi.from_keys(client_id, client_secret)

# مصدر PDF
source = groupdocs_comparison_cloud.FileInfo()
source.file_path = "source.pdf"

# الهدف PDF
target = groupdocs_comparison_cloud.FileInfo()
target.file_path = "target.pdf"

# تحديد خيارات المقارنة
options = groupdocs_comparison_cloud.ComparisonOptions()
options.source_file = source
options.target_files = [target]
options.output_path = "result.pdf"

# إنشاء طلب تغيير آخر
request = groupdocs_comparison_cloud.PostChangesRequest(options)
# تغييرات النشر
response = api_instance.post_changes(request)

# عرض التغييرات
for change in response:
  print("Change # " + str(change.id + 1) + "- Target Text: " + str(change.target_text) + ", Text: " + str(change.text) + ", Type: " + str(change.type));
احصل على قائمة التغييرات في بايثون

احصل على قائمة التغييرات في بايثون.

قارن واحفظ باستخدام كلمة المرور والبيانات الوصفية في Python

يمكننا حماية الملف الناتج بكلمة مرور وحفظه مع البيانات الوصفية باتباع الخطوات الواردة أدناه:

  • أولاً ، قم بإنشاء مثيل لـ CompareApi.
  • بعد ذلك ، قم بإنشاء مثيل FileInfo وقم بتعيين مسار ملف PDF المصدر.
  • بعد ذلك ، قم بإنشاء مثيل آخر من FileInfo وقم بتعيين مسار ملف PDF الهدف.
  • بعد ذلك ، قم بإنشاء مثيل للإعدادات.
  • بعد ذلك ، قم بإنشاء مثيل لـ Metadata.
  • بعد ذلك ، قم بتعيين خصائص البيانات الوصفية المختلفة مثل المؤلف ، والشركة ، والأخير \ حفظ \ بحلول ، وما إلى ذلك.
  • ثم قم بتعيين كلمة المرور وكلمة المرور \ حفظ \ الخيارات.
  • بعد ذلك ، قم بإنشاء مثيل لـ ComparisonOptions.
  • بعد ذلك ، قم بتعيين ملفات المصدر / الهدف وقم بتعيين مسار ملف الإخراج.
  • بعد ذلك ، قم بإنشاء مثيل لكائن ComparisonRequest مع ComparisonOptions
  • أخيرًا ، احصل على النتائج عن طريق استدعاء طريقة CompareApi.comparisons() باستخدام ComparisonsRequest كوسيطة.

يوضح نموذج التعليمات البرمجية التالي كيفية حفظ الملف الناتج بكلمة مرور وبيانات وصفية باستخدام واجهة برمجة تطبيقات REST في Python.

# يوضح مثال الكود هذا كيفية حفظ الملف الناتج بكلمة مرور وبيانات وصفية.
# إنشاء مثيلات API الضرورية
api_instance = groupdocs_comparison_cloud.يقارنApi.from_keys(client_id, client_secret)

# مصدر PDF
source = groupdocs_comparison_cloud.FileInfo()
source.file_path = "source.pdf"

# الهدف PDF
target = groupdocs_comparison_cloud.FileInfo()
target.file_path = "target.pdf"

settings = groupdocs_comparison_cloud.Settings()
# تعيين البيانات الوصفية
settings.meta_data = groupdocs_comparison_cloud.Metadata()
settings.meta_data.author = "Tom"
settings.meta_data.company = "GroupDocs"
settings.meta_data.last_save_by = "Jack"

#Set password
settings.password_save_option = "User"
settings.password = "password"

# تحديد خيارات المقارنة
options = groupdocs_comparison_cloud.ComparisonOptions()
options.source_file = source
options.target_files = [target]
options.output_path = "result.pdf"
options.settings = settings

# إنشاء طلب مقارنة
request = groupdocs_comparison_cloud.ComparisonsRequest(options)

# يقارن
response = api_instance.comparisons(request)

جرب عبر الإنترنت

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

خاتمة

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

أنظر أيضا