İki Word dosyası arasındaki farkları tespit etmek, sözleşmeler, raporlar veya yasal belgelerle çalışan geliştiriciler için sık bir ihtiyaçtır. Aspose.BarCode Cloud SDK for Python güçlü bir kütüphane sağlar ve bu, Aspose.Words Cloud SDK for Python ile birleştirilerek Python’da Word belgelerindeki metni programlı olarak karşılaştırabilir. Bu rehberde ortamınızı kuracak, belgeleri Aspose Cloud depolamasına yükleyecek, karşılaştırma seçeneklerini yapılandıracak, karşılaştırmayı çalıştıracak ve izlenen değişikliklerle sonuç belgeyi alacaksınız. Ayrıca aynı sonucu doğrudan REST çağrılarıyla cURL kullanarak nasıl elde edeceğinizi de göreceksiniz.

Ortam Hazırlığı - Önkoşullar ve Kurulum

Başlamadan önce, aşağıdakilere sahip olduğunuzdan emin olun:

  • Python 3.8 veya daha yeni bir sürüm yerel olarak yüklü.
  • client_id ve client_secret içeren bir Aspose Cloud hesabı (Aspose Cloud kontrol panelinde bulunabilir).
  • Geçici dosya işleme için Aspose Cloud depolamasına erişim.

BarCode SDK’sını pip ile kurun:

pip install aspose-barcode-cloud

Ayrıca Word‑özel işlemleri yöneten Aspose.Words Cloud SDK for Python’ı da ihtiyacınız olacak:

pip install asposewordscloud

Kimlik bilgilerinizi ortam değişkenleri olarak ayarlayın veya koddaki yer tutucuları değiştirin:

import os
client_id = os.getenv("ASPOSE_CLIENT_ID")
client_secret = os.getenv("ASPOSE_CLIENT_SECRET")

SDK’lar bu değerleri Aspose Cloud hizmetlerine karşı kimlik doğrulaması yapmak için kullanacaktır. Ortam hazır olduğunda, uygulamaya geçebiliriz.

Python’da Word Belgelerinde Metni Karşılaştırma: Adım Adım Kılavuz

Adım 1: Kaynak Belgeyi Yükle

İlk olarak, SDK’nın kimlik doğrulaması yapabilmesi ve Python’da Word belgelerindeki metni karşılaştırabilmeniz için Aspose Cloud kimlik bilgilerinizi yapılandırın.

from asposewordscloud import WordsApi, Configuration

config = Configuration(client_id=client_id, client_secret=client_secret)
words_api = WordsApi(config)

Adım 2: Kaynak ve Hedef Belgeleri Yükleyin

Karşılaştırmak istediğiniz iki DOCX dosyasını yükleyin. Yardımcı işlev, yükleme sürecini soyutlar.

def upload(local_file, remote_name):
    with open(local_file, "rb") as f:
        words_api.upload_file(request={"path": f"TempCompare/{remote_name}", "file": f})

upload("doc1.docx", "doc1.docx")
upload("doc2.docx", "doc2.docx")

Adım 3: Karşılaştırma Seçeneklerini Ayarla

Sonra, CompareOptions ayarlayarak SDK’nın Python’da Word belgelerindeki metni nasıl karşılaştırması gerektiğini, örneğin büyük/küçük harf duyarsızlığı veya yorumları yok sayma gibi, tanımlayın.

from asposewordscloud.models import CompareOptions

compare_opts = CompareOptions(
    author="PythonComparer",
    compare_options="IgnoreCase,IgnoreComments,IgnoreFormatting",
    file_path="TempCompare/doc2.docx",
    revision_author="PythonComparer",
    revision_date_time="2023-01-01T00:00:00Z"
)

Adım 4: Belge Karşılaştırmasını Çalıştır

Şimdi compare_document yöntemini çağırarak Word belgelerindeki metni Python’da gerçekten karşılaştırın ve revizyon‑izlemeli bir sonuç oluşturun.

compare_result = words_api.compare_document(
    request={
        "name": "doc1.docx",
        "compare_data": compare_opts,
        "folder": "TempCompare"
    }
)

Adım 5: Sonucu Al ve Kaydet

Son olarak, oluşan belgeyi diske yazın ve geçici dosyaları temizleyin.

with open("compare_result.docx", "wb") as out_file:
    out_file.write(compare_result.document)

words_api.delete_file(request={"path": "TempCompare/doc1.docx"})
words_api.delete_file(request={"path": "TempCompare/doc2.docx"})

Python’da Word Belgelerinde Metin Karşılaştırması - Tam Uygulama ve Kod Örneği

Aşağıdaki kod, Python’da Aspose API’lerini kullanarak Word belgelerindeki metni karşılaştırmak için tam iş akışını gösterir.

import os
from asposewordscloud import WordsApi, Configuration
from asposewordscloud.models import CompareOptions

# ----------------------------------------------------------------------
# Configuration – set your Aspose Cloud credentials in environment variables
# ----------------------------------------------------------------------
client_id = os.getenv("ASPOSE_CLIENT_ID")
client_secret = os.getenv("ASPOSE_CLIENT_SECRET")
config = Configuration(client_id=client_id, client_secret=client_secret)

# ----------------------------------------------------------------------
# Initialize the Words API client
# ----------------------------------------------------------------------
words_api = WordsApi(config)

# ----------------------------------------------------------------------
# Local file paths (replace with your actual files)
# ----------------------------------------------------------------------
source_path = "doc1.docx"
target_path = "doc2.docx"
result_path = "compare_result.docx"

# ----------------------------------------------------------------------
# Remote folder in Aspose Cloud storage where temporary files are kept
# ----------------------------------------------------------------------
remote_folder = "TempCompare"

# ----------------------------------------------------------------------
# Helper to upload a local file to Aspose Cloud storage
# ----------------------------------------------------------------------
def upload(local_file, remote_name):
    with open(local_file, "rb") as f:
        words_api.upload_file(request={"path": f"{remote_folder}/{remote_name}", "file": f})

# ----------------------------------------------------------------------
# Upload source and target documents
# ----------------------------------------------------------------------
upload(source_path, source_path)
upload(target_path, target_path)

# ----------------------------------------------------------------------
# Set up comparison options
# ----------------------------------------------------------------------
compare_opts = CompareOptions(
    author="PythonComparer",
    compare_options="IgnoreCase,IgnoreComments,IgnoreFormatting",
    file_path=f"{remote_folder}/{target_path}",
    revision_author="PythonComparer",
    revision_date_time="2023-01-01T00:00:00Z"
)

# ----------------------------------------------------------------------
# Perform the comparison
# ----------------------------------------------------------------------
try:
    compare_result = words_api.compare_document(
        request={
            "name": source_path,
            "compare_data": compare_opts,
            "folder": remote_folder
        }
    )
    # The API returns the resulting document as a byte array
    with open(result_path, "wb") as out_file:
        out_file.write(compare_result.document)
finally:
    # ------------------------------------------------------------------
    # Clean up remote temporary files
    # ------------------------------------------------------------------
    words_api.delete_file(request={"path": f"{remote_folder}/{source_path}"})
    words_api.delete_file(request={"path": f"{remote_folder}/{target_path}"})

Not: Bu kod örneği temel işlevselliği göstermektedir. Projenizde kullanmadan önce, dosya yollarını ve yapılandırma değerlerini gerçek ortamınıza uygun şekilde güncellediğinizden, tüm gerekli bağımlılıkların doğru şekilde yüklendiğini doğruladığınızdan ve geliştirme ortamınızda kapsamlı bir şekilde test ettiğinizden emin olun. Herhangi bir sorunla karşılaşırsanız, lütfen resmi dokümantasyona bakın veya destek ekibi ile iletişime geçin.

cURL kullanarak REST API üzerinden Belge Karşılaştırma

Aşağıda, REST API üzerinden Python işlemiyle Word belgelerindeki aynı metin karşılaştırmasını gerçekleştiren cURL komutları bulunmaktadır.

  1. Kimlik Doğrulama ve Erişim Token’ı Al
curl -X POST "https://api.aspose.cloud/connect/token" \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "grant_type=client_credentials&client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET"
  1. Kaynak Dosyayı Yükle
curl -X PUT "https://api.aspose.cloud/v4.0/words/TempCompare/doc1.docx" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/octet-stream" \
  --data-binary "@doc1.docx"
  1. Hedef Dosyayı Yükle
curl -X PUT "https://api.aspose.cloud/v4.0/words/TempCompare/doc2.docx" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/octet-stream" \
  --data-binary "@doc2.docx"
  1. Karşılaştırmayı Çalıştır
curl -X POST "https://api.aspose.cloud/v4.0/words/doc1.docx/compare" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
        "compareOptions": {
            "author": "PythonComparer",
            "compareOptions": "IgnoreCase,IgnoreComments,IgnoreFormatting",
            "filePath": "TempCompare/doc2.docx",
            "revisionAuthor": "PythonComparer",
            "revisionDateTime": "2023-01-01T00:00:00Z"
        }
      }' -o compare_result.docx
  1. Çıktı Dosyasını İndir
curl -X GET "https://api.aspose.cloud/v4.0/words/TempCompare/compare_result.docx" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -o compare_result.docx

İstek gövdeleri ve ek parametreler hakkında daha fazla ayrıntı için, resmi API belgeleri adresine bakın.

Sonuç

Bu makale, Python kullanarak Word belgelerindeki metni nasıl karşılaştıracağınızı Aspose.BarCode Cloud SDK for Python ile gösterdi. Kimlik bilgilerini ayarlama, dosyaları yükleme, karşılaştırma seçeneklerini yapılandırma ve karşılaştırma API’sini çağırma adımlarını izleyerek uygulamalarınızda belge farkı iş akışlarını otomatikleştirebilirsiniz. Üretim kullanımı için uygun bir lisans almayı unutmayın; geçici bir lisans geçici lisans sayfasında mevcuttur ve tam lisanslama detayları ürün sayfasında listelenmiştir. Bu araçlarla, belge karşılaştırmasını Python projelerinize entegre etmek basit ve güvenilir hale gelir.

FAQs

  • Aspose.BarCode Cloud SDK for Python, Python’da Word belgelerindeki metni karşılaştırmama nasıl yardımcı olur?
    SDK, DOCX dosyalarını yüklemek, karşılaştırma seçeneklerini ayarlamak ve farkları vurgulayan revizyon‑izlenmiş bir sonuç oluşturmak için Aspose.Words Cloud SDK for Python ile birlikte çalışır. Ayrıntılar için Aspose.BarCode Cloud SDK for Python ürün sayfasına bakın.

  • Büyük Word dosyalarını verimli bir şekilde karşılaştırabilir miyim?
    Evet. compare_document API’sini kullanarak büyük DOCX dosyalarını Aspose Cloud depolamasından akıtabilir ve hizmet bunları sunucu tarafında işleyerek makinenizdeki bellek kullanımını en aza indirir. Performans ipuçları için resmi belgelere bakın.

  • Karşılaştırma için hangi dosya formatları desteklenir?
    API öncelikle DOCX dosyalarıyla çalışır, ancak Aspose.Words kullanarak DOC dosyalarını DOCX’e dönüştürdükten sonra DOC dosyalarını da karşılaştırabilirsiniz. Tüm format adları büyük harfle yazılır, ör. DOCX, PDF.

  • Bunu üretim ortamında çalıştırmak için bir lisansa ihtiyacım var mı?
    Geçici bir lisans, geçici lisans sayfasında mevcuttur. Üretim kullanımı için ürün sayfasında açıklandığı gibi tam bir lisans satın almanız gerekir.

Daha Fazla Oku