Bir Python geliştiricisi olarak, iki veya daha fazla Word belgesini (.docx) bulutta programlı olarak benzerlikler ve farklılıklar açısından karşılaştırabilirsiniz. Belge karşılaştırması, Word belgelerindeki değişiklikleri izlemenize yardımcı olur. Bu makale, Python’da bir REST API kullanarak iki veya daha fazla Word belgesinin nasıl karşılaştırılacağına odaklanacaktır.

Bu yazıda aşağıdaki konular ele alınacaktır:

Belge Karşılaştırma REST API ve Python SDK

GroupDocs.Comparison for Cloud

Microsoft Word belgelerini karşılaştırmak için GroupDocs.Comparison Cloud’un Python SDK’sı API’sini kullanacağım. Desteklenen dosya biçimlerinin iki belgesini karşılaştırır ve aralarındaki farkları bulur. Sonuç olarak, farklılıkları içeren bir sonuç dosyası oluşturur ve alınan değişiklikleri kabul etmenizi veya reddetmenizi sağlar. Son kullanıcılarınızın belgeleri, elektronik tabloları, sunumları, Microsoft Visio şemalarını, e-postaları ve diğer birçok formattaki dosyaları karşılaştırmasını sağlamak için mevcut Python uygulamalarınıza kolayca entegre edilebilir. Ayrıca Cloud API için belge karşılaştırma aile üyeleri olarak .NET, Java, PHP ve Ruby SDK’ları sağlar.

Konsolda aşağıdaki komutu kullanarak GroupDocs.Comparison Cloud’u pip (python için paket yükleyici) ile Python projenize yükleyebilirsiniz:

pip install groupdocs_comparison_cloud

Lütfen adımları ve mevcut kod örneklerini izlemeye başlamadan önce gösterge tablosundan İstemci Kimliğinizi ve İstemci Sırrınızı alın. Kimliğinizi ve sırrınızı aşağıda gösterildiği gibi koda ekleyin:

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"

Python’da bir REST API kullanarak Word Belgelerini karşılaştırın

Aşağıda belirtilen basit adımları izleyerek iki Word belgesini karşılaştırabilirsiniz:

Belgeyi Yükle

Öncelikle aşağıda verilen kod örneğini kullanarak kaynak ve hedef Word belgelerini Buluta yükleyin:

# api başlatma
file_api = groupdocs_comparison_cloud.FileApi.from_config(configuration)
storage_api = groupdocs_comparison_cloud.StorageApi.from_config(configuration)

# örnek dosyaları yükle
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)

Sonuç olarak, karşıya yüklenen DOCX dosyaları (source.docx, target.docx) bulut üzerindeki kontrol panelinizin dosyalar bölümünde mevcut olacaktır.

Python’da Word Dosyalarını Karşılaştırın

İki Word belgesini programlı olarak karşılaştırmak için lütfen aşağıda belirtilen adımları izleyin.

  • Bir CompareApi örneği oluşturun
  • Kaynak .docx dosyasını ayarlayın
  • Hedef .docx dosyasını ayarlayın
  • Karşılaştırma Seçeneklerini Tanımla
  • Karşılaştırma Talebi Oluştur
  • CompareApi.comparisons() yöntemini çağırarak sonuçları alın

Aşağıdaki kod parçacığı, bir REST API kullanarak iki Word belgesinin nasıl karşılaştırılacağını gösterir.

# Gerekli API örneklerini oluşturun
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)

Parola korumalı kaynak veya hedef dosyalar için parolayı aşağıda gösterildiği gibi sağlayabilirsiniz:

target.password = "5784"

Karşılaştırma sırasında uygulanacak çeşitli ayarları da tanımlayabilir ve bunları aşağıda gösterildiği gibi ComparisonOptions’a atayabilirsiniz:

settings = groupdocs_comparison_cloud.Settings()

# Hassasiyeti karşılaştırın
settings.sensitivity_of_comparison = 100

# Değişiklikler için stilleri özelleştirin
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

Sonuç Dosyasını İndirin

Yukarıdaki kod örneği, bulutta yeni oluşturulan bir DOCX dosyasındaki farklılıkları kaydedecektir. Aşağıdaki kod örneğini kullanarak indirebilirsiniz:

# API örneğini oluşturun
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)

# İndirilen dosyayı çalışma dizininize taşıyın
shutil.move(response, "C:\\Files\\")        
Python'da bir REST API kullanarak Word Belgelerini karşılaştırın

Ortaya çıkan dosya ayrıca aşağıda gösterildiği gibi belgenin sonunda bir özet sayfası içerir:

Özet Sayfası

Python Kullanarak Birden Çok Word Dosyasını Karşılaştırın

Python kullanarak birden çok Word belgesini karşılaştırmak için lütfen aşağıda belirtilen adımları izleyin.

  • Bir CompareApi örneği oluşturun
  • Kaynak .docx dosyasını ayarlayın
  • Birden çok hedef .docx dosyası ayarlayın
  • Gerekirse Karşılaştırma Seçeneklerini tanımlayın
  • Karşılaştırma Talebi Oluştur
  • CompareApi.comparisons() yöntemini çağırarak sonuçları alın

Aşağıdaki kod parçacığı, Python kullanılarak birden çok Word belgesinin nasıl karşılaştırılacağını gösterir. Birden fazla DOCX dosyası yüklemek için lütfen daha önce belirtilen adımları izleyin.

# Gerekli API örneklerini oluşturun
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)

Lütfen yukarıdaki API kullanılarak geliştirilen aşağıdaki ücretsiz çevrimiçi DOCX karşılaştırma aracını deneyin. https://products.groupdocs.app/comparison/docx

Çözüm

Bu makalede, Python kullanarak belge karşılaştırma REST API’si ile buluttaki Microsoft Word belgelerini nasıl karşılaştıracağınızı öğrendiniz. Ayrıca programlı olarak iki veya daha fazla dosyayı buluta nasıl yükleyeceğinizi ve ardından ortaya çıkan dosyayı buluttan nasıl indireceğinizi de öğrendiniz. Belgeleri kullanarak GroupDocs.Comparison Cloud API hakkında daha fazla bilgi edinebilirsiniz. Ayrıca, API’lerimizi doğrudan tarayıcı aracılığıyla görselleştirmenize ve bunlarla etkileşimde bulunmanıza olanak tanıyan bir API Referansı bölümü de sağlıyoruz. Herhangi bir belirsizlik durumunda, lütfen forumda bizimle iletişime geçmekten çekinmeyin.