به‌عنوان یک توسعه‌دهنده پایتون، می‌توانید دو یا چند سند Word (docx.) را از نظر شباهت‌ها و تفاوت‌ها از نظر برنامه‌ریزی روی ابر مقایسه کنید. مقایسه اسناد به شما کمک می کند تغییرات در اسناد Word را ردیابی کنید. این مقاله بر نحوه مقایسه دو یا چند سند Word با استفاده از REST API در پایتون تمرکز خواهد کرد.

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

API REST مقایسه اسناد و Python SDK

GroupDocs.Comparison برای Cloud

برای مقایسه اسناد Microsoft Word، از Python SDK of GroupDocs.Comparison Cloud API استفاده خواهم کرد. این دو سند از فرمت‌های فایل پشتیبانی شده را با هم مقایسه می‌کند و تفاوت‌هایی را بین آنها پیدا می‌کند. در نتیجه، یک فایل حاصل حاوی تفاوت‌ها ایجاد می‌کند و شما را قادر می‌سازد تا تغییرات بازیابی شده را بپذیرید یا رد کنید. می‌تواند به راحتی در برنامه‌های پایتون موجود شما ادغام شود تا کاربران نهایی خود را برای مقایسه اسناد، صفحات گسترده، ارائه‌ها، نمودارهای Microsoft Visio، ایمیل‌ها و فایل‌های بسیاری از فرمت‌های دیگر توانمند سازد. همچنین .NET، جاوا، PHP و Ruby SDK را به عنوان [اعضای خانواده مقایسه اسناد2 خود برای Cloud API فراهم می کند.

می‌توانید با استفاده از دستور زیر در کنسول، GroupDocs.Comparison Cloud را با پیپ (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 API در پایتون

با دنبال کردن مراحل ساده ذکر شده در زیر می توانید دو سند Word را با هم مقایسه کنید:

سند را آپلود کنید

اول از همه، اسناد ورد منبع و مقصد را با استفاده از مثال کد زیر در Cloud آپلود کنید:

# مقداردهی اولیه 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 در پایتون

لطفاً مراحل ذکر شده در زیر را برای مقایسه دو سند Word به صورت برنامه ای دنبال کنید.

  • یک نمونه از CompareApi ایجاد کنید
  • فایل docx. منبع را تنظیم کنید
  • فایل docx. target را تنظیم کنید
  • ComparisonOptions را تعریف کنید
  • درخواست مقایسه ایجاد کنید
  • با فراخوانی روش CompareApi.comparisons() به نتیجه برسید

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

# نمونه های 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 API در پایتون

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

صفحه خلاصه

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

لطفاً مراحل ذکر شده در زیر را برای مقایسه چندین سند Word با استفاده از پایتون دنبال کنید.

  • یک نمونه از CompareApi ایجاد کنید
  • فایل docx. منبع را تنظیم کنید
  • چندین فایل هدف .docx را تنظیم کنید
  • در صورت نیاز گزینه های مقایسه را تعریف کنید
  • درخواست مقایسه ایجاد کنید
  • با فراخوانی روش CompareApi.comparisons() به نتیجه برسید

قطعه کد زیر نحوه مقایسه چندین سند Word را با استفاده از پایتون نشان می دهد. لطفاً برای آپلود چندین فایل 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 زیر را که با استفاده از API بالا ایجاد شده است، امتحان کنید. https://products.groupdocs.app/comparison/docx

نتیجه

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