مقایسه فایل های PDF با استفاده از REST API در پایتون

PDF(قالب سند قابل حمل) یکی از رایج ترین انواع فایل امروزه است. معمولاً برای توزیع اسناد فقط خواندنی و حفظ طرح‌بندی صفحه استفاده می‌شود. در موارد مختلف، ممکن است لازم باشد محتویات دو یا چند سند PDF را با هم مقایسه کنیم یا چندین نسخه از یک سند را با هم مقایسه کنیم. ما به راحتی می توانیم اسناد PDF را به صورت برنامه نویسی مقایسه کنیم تا شباهت ها و تفاوت ها را شناسایی کنیم. در این مقاله نحوه مقایسه فایل های PDF با استفاده از REST API در پایتون را یاد خواهیم گرفت.

موضوعات زیر در این مقاله پوشش داده خواهد شد:

REST API برای مقایسه فایل‌های PDF و Python SDK

برای مقایسه اسناد PDF، از Python SDK of GroupDocs.Comparison Cloud API استفاده خواهیم کرد. این به شما امکان می دهد دو یا چند سند از [فرمت های پشتیبانی شده] را مقایسه کنید و تفاوت ها را بیابید. لطفا با استفاده از دستور زیر در کنسول آن را نصب کنید:

pip install groupdocs_comparison_cloud

لطفاً قبل از انجام مراحل ذکر شده [شناسه مشتری و راز خود را از داشبورد 4 دریافت کنید. هنگامی که شناسه و راز خود را دریافت کردید، کد را مطابق شکل زیر اضافه کنید:

# این مثال کد نحوه تنظیم شناسه مشتری و مخفی را نشان می دهد.
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 API در پایتون

ما می توانیم اسناد PDF را در فضای ابری با دنبال کردن مراحل ساده زیر مقایسه کنیم:

  1. آپلود فایل‌های PDF را در ابر
  2. مقایسه فایل‌های PDF
  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 با استفاده از پایتون

با دنبال کردن مراحل زیر می‌توانیم دو سند PDF را به صورت برنامه‌نویسی مقایسه کنیم:

  • ابتدا یک نمونه از CompareApi ایجاد کنید.
  • سپس یک نمونه از FileInfo ایجاد کنید.
  • سپس، مسیر فایل PDF منبع را تنظیم کنید.
  • پس از آن، یک نمونه دیگر از FileInfo ایجاد کنید.
  • سپس، مسیر فایل PDF مورد نظر را تنظیم کنید.
  • بعد، یک نمونه از ComparisonOptions ایجاد کنید.
  • سپس، فایل های منبع و هدف را تعیین کنید.
  • همچنین مسیر فایل خروجی را تنظیم کنید.
  • پس از آن، یک نمونه از شی ComparisonsRequest با ComparisonOptions ایجاد کنید
  • در نهایت، با فراخوانی متد CompareApi.comparisons() به‌عنوان آرگومان ComparisonsRequest، نتایج را دریافت کنید.

نمونه کد زیر نحوه مقایسه دو فایل PDF را با استفاده از REST API در پایتون نشان می دهد.

# این مثال کد نحوه مقایسه دو فایل PDF را نشان می دهد.
# یک نمونه از API ایجاد کنید
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 API در پایتون

مقایسه دو فایل PDF با استفاده از REST API در پایتون.

فایل پی‌دی‌اف حاصل همچنین حاوی یک صفحه خلاصه در انتهای سند است، همانطور که در زیر نشان داده شده است:

صفحه خلاصه.

صفحه خلاصه که کل عناصر حذف شده یا درج شده را نشان می دهد.

فایل نتیجه را دانلود کنید

نمونه کد بالا تفاوت ها را در یک فایل 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 در پایتون

ما می توانیم چندین سند PDF را با دنبال کردن مراحل زیر مقایسه کنیم:

  • ابتدا یک نمونه از CompareApi ایجاد کنید.
  • در مرحله بعد، یک نمونه از FileInfo ایجاد کنید و مسیر فایل PDF منبع را تنظیم کنید.
  • سپس، نمونه دیگری از FileInfo ایجاد کنید و مسیر فایل PDF مورد نظر را تعیین کنید.
  • پس از آن، مرحله بالا را تکرار کنید تا فایل های هدف بیشتری اضافه کنید.
  • بعد، یک نمونه از ComparisonOptions ایجاد کنید.
  • سپس، فایل های منبع/هدف را اختصاص دهید و مسیر فایل خروجی را تنظیم کنید.
  • پس از آن، یک نمونه از شی ComparisonsRequest با ComparisonOptions ایجاد کنید
  • در نهایت، با فراخوانی متد CompareApi.comparisons() به‌عنوان آرگومان ComparisonsRequest، نتایج را دریافت کنید.

نمونه کد زیر نحوه مقایسه چندین فایل PDF را با استفاده از REST API در پایتون نشان می دهد.

# این مثال کد نحوه مقایسه چندین فایل 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 ایجاد کنید.
  • سپس، فایل های منبع/هدف را اختصاص دهید و مسیر فایل خروجی را تنظیم کنید.
  • پس از آن، یک نمونه از شی ComparisonsRequest با ComparisonOptions ایجاد کنید
  • در نهایت، با فراخوانی متد CompareApi.comparisons() به‌عنوان آرگومان ComparisonsRequest، نتایج را دریافت کنید.

نمونه کد زیر نحوه سفارشی سازی نتایج مقایسه با استفاده از REST API در پایتون را نشان می دهد.

# این مثال کد نحوه سفارشی سازی نتایج مقایسه را نشان می دهد.
# نمونه های 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 API در پایتون نشان می دهد.

# این مثال کد نحوه دریافت لیست تمام تغییرات را نشان می دهد.
# نمونه های 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));
دریافت لیست تغییرات در پایتون

دریافت لیست تغییرات در پایتون

مقایسه و ذخیره با پسورد و متادیتا در پایتون

با دنبال کردن مراحل زیر می‌توانیم فایل حاصل را با رمز عبور محافظت کنیم و آن را با ابرداده ذخیره کنیم:

  • ابتدا یک نمونه از CompareApi ایجاد کنید.
  • در مرحله بعد، یک نمونه از FileInfo ایجاد کنید و مسیر فایل PDF منبع را تنظیم کنید.
  • سپس، نمونه دیگری از FileInfo ایجاد کنید و مسیر فایل PDF مورد نظر را تعیین کنید.
  • بعد، یک نمونه از تنظیمات ایجاد کنید.
  • سپس، یک نمونه از Metadata ایجاد کنید.
  • پس از آن، ویژگی های مختلف ابرداده مانند نویسنده، شرکت، last\save\by و غیره را تنظیم کنید.
  • سپس، رمز عبور و رمز عبور\save\options را تنظیم کنید.
  • بعد، یک نمونه از ComparisonOptions ایجاد کنید.
  • سپس، فایل های منبع/هدف را اختصاص دهید و مسیر فایل خروجی را تنظیم کنید.
  • پس از آن، یک نمونه از شی ComparisonsRequest با ComparisonOptions ایجاد کنید
  • در نهایت، با فراخوانی متد CompareApi.comparisons() به‌عنوان آرگومان ComparisonsRequest به نتیجه برسید.

نمونه کد زیر نحوه ذخیره فایل حاصل را با رمز عبور و ابرداده با استفاده از REST API در پایتون نشان می دهد.

# این مثال کد نحوه ذخیره فایل حاصل را با رمز عبور و ابرداده نشان می دهد.
# نمونه های 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 زیر را که با استفاده از API بالا ایجاد شده است، امتحان کنید. https://products.groupdocs.app/comparison/pdf

نتیجه

در این مقاله نحوه مقایسه اسناد PDF در فضای ابری را یاد گرفتیم. ما همچنین نحوه مقایسه چندین فایل PDF، سفارشی کردن سبک تغییرات و دریافت لیستی از تغییرات در پایتون را دیده ایم. این مقاله همچنین نحوه آپلود چند فایل PDF را به صورت برنامه نویسی در فضای ابری و سپس دانلود فایل حاصل از ابر توضیح داد. علاوه بر این، می‌توانید با استفاده از مستندات درباره GroupDocs.Comparison Cloud API اطلاعات بیشتری کسب کنید. ما همچنین یک بخش API Reference ارائه می دهیم که به شما امکان می دهد API های ما را مستقیماً از طریق مرورگر تجسم کنید و با آنها تعامل داشته باشید. در صورت وجود هرگونه ابهام، لطفاً با ما در [تالار] تماس حاصل فرمایید15.

همچنین ببینید