Python'da REST API kullanarak PDF Dosyalarını Karşılaştırın

PDF(Taşınabilir Belge Biçimi), günümüzde en sık kullanılan dosya türlerinden biridir. Genellikle bir sayfanın düzenini koruyarak salt okunur belgeleri dağıtmak için kullanılır. Çeşitli durumlarda, iki veya daha fazla PDF belgesinin içeriğini veya aynı belgenin birden çok sürümünü karşılaştırmamız gerekebilir. Benzerlikleri ve farklılıkları belirlemek için PDF belgelerini programlı olarak kolayca karşılaştırabiliriz. Bu yazıda, Python’da bir REST API kullanarak PDF dosyalarını nasıl karşılaştıracağımızı öğreneceğiz.

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

PDF Dosyalarını ve Python SDK’yı Karşılaştırmak için REST API

PDF belgelerini karşılaştırmak için GroupDocs.Comparison Cloud’un Python SDK’sı API’sini kullanacağız. Desteklenen biçimlerin iki veya daha fazla belgesini karşılaştırmanıza ve farklılıkları bulmanıza olanak tanır. Lütfen konsolda aşağıdaki komutu kullanarak kurun:

pip install groupdocs_comparison_cloud

Lütfen belirtilen adımları uygulamadan önce panodan Müşteri Kimliğinizi ve Sırrınızı alın. Kimliğinizi ve sırrınızı aldıktan sonra, kodu aşağıda gösterildiği gibi ekleyin:

# Bu kod örneği, istemci kimliği ve sırrının nasıl ayarlanacağını gösterir.
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 = ""

Python’da bir REST API kullanarak İki PDF Dosyasını Karşılaştırın

Aşağıda verilen basit adımları izleyerek PDF belgelerini bulutta karşılaştırabiliriz:

  1. PDF dosyalarını buluta Yükle
  2. [PDF Dosyalarını Karşılaştırın](#Python Kullanarak PDF Dosyalarını Karşılaştırın)
  3. Ortaya çıkan PDF dosyasını İndir

PDF Dosyalarını Yükleyin

İlk olarak, aşağıdaki kod örneğini kullanarak kaynak ve hedef PDF dosyalarını buluta yükleyeceğiz:

# Bu kod örneği, PDF dosyalarının buluta nasıl yükleneceğini gösterir.
# API örneğini oluşturun
file_api = groupdocs_comparison_cloud.FileApi.from_config(configuration)

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

Sonuç olarak, yüklenen dosyalar bulut üzerindeki kontrol panelinin dosyalar bölümünde mevcut olacaktır.

Python kullanarak PDF Dosyalarını Karşılaştırın

Aşağıda verilen adımları izleyerek iki PDF belgesini programlı olarak karşılaştırabiliriz:

  • Öncelikle CompareApi’nin bir örneğini oluşturun.
  • Ardından, FileInfo’nun bir örneğini oluşturun.
  • Ardından, kaynak PDF dosya yolunu ayarlayın.
  • Bundan sonra, FileInfo’nun başka bir örneğini oluşturun.
  • Ardından, hedef PDF dosya yolunu ayarlayın.
  • Ardından, ComparisonOptions’ın bir örneğini oluşturun.
  • Ardından, kaynak ve hedef dosyaları atayın.
  • Ayrıca çıktı dosyası yolunu ayarlayın.
  • Bundan sonra, ComparisonOptions nesnesi ile ComparisonsRequest’in bir örneğini oluşturun.
  • Son olarak, argüman olarak ComparisonsRequest ile CompareApi.comparisons() yöntemini çağırarak sonuçları alın.

Aşağıdaki kod örneği, Python’da bir REST API kullanarak iki PDF dosyasının nasıl karşılaştırılacağını gösterir.

# Bu kod örneği, iki PDF dosyasının nasıl karşılaştırılacağını gösterir.
# API'nin bir örneğini oluşturun
api_instance = groupdocs_comparison_cloud.CompareApi.from_keys(client_id, client_secret)

# Giriş kaynak dosyası
source = groupdocs_comparison_cloud.FileInfo()
source.file_path = "source.pdf"

# Hedef dosya
target = groupdocs_comparison_cloud.FileInfo()
target.file_path = "target.pdf"

# Karşılaştırma seçeneklerini tanımlayın
options = groupdocs_comparison_cloud.ComparisonOptions()
options.source_file = source
options.target_files = [target]
options.output_path = "result.pdf"

# Karşılaştırma isteği oluştur
request = groupdocs_comparison_cloud.ComparisonsRequest(options)

# karşılaştırmak
response = api_instance.comparisons(request)
Python'da bir REST API kullanarak İki PDF Dosyasını Karşılaştırın

Python’da bir REST API kullanarak İki PDF Dosyasını karşılaştırın.

Ortaya çıkan PDF dosyası, belgenin sonunda aşağıda gösterildiği gibi bir özet sayfası da içerir:

Özet Sayfası.

Toplam silinen veya eklenen öğeleri gösteren özet sayfası.

Sonuç Dosyasını İndirin

Yukarıdaki kod örneği, bulutta yeni oluşturulan bir PDF dosyasındaki farklılıkları kaydedecektir. Aşağıdaki kod örneği kullanılarak indirilebilir:

# Bu kod örneği, elde edilen dosyanın nasıl indirileceğini gösterir.
# API örneğini oluşturun
file_api = groupdocs_comparison_cloud.FileApi.from_config(configuration)

# İndirme dosyası isteği oluştur
request = groupdocs_comparison_cloud.DownloadFileRequest("result.pdf", my_storage)

# Dosyayı indir
response = file_api.download_file(request)

# İndirilen dosyayı çalışma dizininize taşıyın
shutil.move(response, "C:\\Files\\") 

Python’da Birden Çok PDF Dosyasını Karşılaştırın

Aşağıda verilen adımları izleyerek birden fazla PDF belgesini karşılaştırabiliriz:

  • Öncelikle CompareApi’nin bir örneğini oluşturun.
  • Ardından, bir FileInfo örneği oluşturun ve kaynak PDF dosya yolunu ayarlayın.
  • Ardından, FileInfo’nun başka bir örneğini oluşturun ve hedef PDF dosya yolunu ayarlayın.
  • Bundan sonra, daha fazla hedef dosya eklemek için yukarıdaki adımı tekrarlayın.
  • Ardından, ComparisonOptions’ın bir örneğini oluşturun.
  • Ardından, kaynak/hedef dosyaları atayın ve çıktı dosyası yolunu ayarlayın.
  • Bundan sonra, ComparisonOptions nesnesi ile ComparisonsRequest’in bir örneğini oluşturun.
  • Son olarak, argüman olarak ComparisonsRequest ile CompareApi.comparisons() yöntemini çağırarak sonuçları alın.

Aşağıdaki kod örneği, Python’da bir REST API kullanarak birden çok PDF dosyasının nasıl karşılaştırılacağını gösterir.

# Bu kod örneği, birden çok PDF dosyasının 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)

# Kaynak PDF
source = groupdocs_comparison_cloud.FileInfo()
source.file_path = "source.pdf"

# Hedef PDF 1
target1 = groupdocs_comparison_cloud.FileInfo()
target1.file_path = "target.pdf"

# Hedef PDF 2
target2 = groupdocs_comparison_cloud.FileInfo()
target2.file_path = "target2.pdf"

# Karşılaştırma seçeneklerini tanımlayın
options = groupdocs_comparison_cloud.ComparisonOptions()
options.source_file = source
options.target_files = [target1, target2]
options.output_path = "result.pdf"

# Karşılaştırma talebi oluşturun ve karşılaştırın
request = groupdocs_comparison_cloud.ComparisonsRequest(options)
response = api_instance.comparisons(request)

Python’da Karşılaştırma Sonuçlarını Özelleştirin

Karşılaştırma işlemi sonucunda bulunan değişikliklerin stilini aşağıda verilen adımları izleyerek özelleştirebiliriz:

  • Öncelikle CompareApi’nin bir örneğini oluşturun.
  • Ardından, bir FileInfo örneği oluşturun ve kaynak PDF dosya yolunu ayarlayın.
  • Ardından, FileInfo’nun başka bir örneğini oluşturun ve hedef PDF dosya yolunu ayarlayın.
  • Ardından, Ayarların bir örneğini oluşturun.
  • Ardından, Öğenin stilini özelleştirmek için karşılaştırma hassasiyetini ve çeşitli özellikleri ayarlayın.
  • Ardından, ComparisonOptions’ın bir örneğini oluşturun.
  • Ardından, kaynak/hedef dosyaları atayın ve çıktı dosyası yolunu ayarlayın.
  • Bundan sonra, ComparisonOptions nesnesi ile ComparisonsRequest’in bir örneğini oluşturun.
  • Son olarak, argüman olarak ComparisonsRequest ile CompareApi.comparisons() yöntemini çağırarak sonuçları alın.

Aşağıdaki kod örneği, Python’da bir REST API kullanarak karşılaştırma sonuçlarının nasıl özelleştirileceğini gösterir.

# Bu kod örneği, karşılaştırma sonuçlarının nasıl cCustomize edileceğini gösterir.
# Gerekli API örneklerini oluşturun
api_instance = groupdocs_comparison_cloud.KarşılaştırmakApi.from_keys(client_id, client_secret)

# Kaynak PDF
source = groupdocs_comparison_cloud.FileInfo()
source.file_path = "source.pdf"

# Hedef PDF
target = groupdocs_comparison_cloud.FileInfo()
target.file_path = "target.pdf"

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

# Karşılaştırma seçeneklerini tanımlayın
options = groupdocs_comparison_cloud.ComparisonOptions()
options.source_file = source
options.target_files = [target]
options.output_path = "result.pdf"
options.settings = settings

# Karşılaştırma isteği oluştur
request = groupdocs_comparison_cloud.ComparisonsRequest(options)

# Karşılaştırmak
response = api_instance.comparisons(request)

Python’daki Değişikliklerin Listesini Alın

Aşağıda verilen adımları izleyerek PDF dosyalarının karşılaştırılması sırasında bulunan tüm değişikliklerin bir listesini alabiliriz:

  • Öncelikle CompareApi’nin bir örneğini oluşturun.
  • Ardından, bir FileInfo örneği oluşturun ve kaynak PDF dosya yolunu ayarlayın.
  • Ardından, FileInfo’nun başka bir örneğini oluşturun ve hedef PDF dosya yolunu ayarlayın.
  • Ardından, ComparisonOptions’ın bir örneğini oluşturun.
  • Ardından, kaynak/hedef dosyaları atayın ve çıktı dosyası yolunu ayarlayın.
  • Bundan sonra ComparisonOptions nesnesi ile PostChangesRequest’in bir örneğini oluşturun.
  • Son olarak, argüman olarak ComparisonsRequest ile CompareApi.post\changes() yöntemini çağırarak sonuçları alın.

Aşağıdaki kod örneği, Python’da bir REST API kullanarak değişiklik listesinin nasıl alınacağını gösterir.

# Bu kod örneği, tüm değişikliklerin listesinin nasıl alınacağını gösterir.
# Gerekli API örneklerini oluşturun
api_instance = groupdocs_comparison_cloud.CompareApi.from_keys(client_id, client_secret)

# Kaynak PDF
source = groupdocs_comparison_cloud.FileInfo()
source.file_path = "source.pdf"

# Hedef PDF
target = groupdocs_comparison_cloud.FileInfo()
target.file_path = "target.pdf"

# Karşılaştırma seçeneklerini tanımlayın
options = groupdocs_comparison_cloud.ComparisonOptions()
options.source_file = source
options.target_files = [target]
options.output_path = "result.pdf"

# Değişiklik sonrası isteği oluştur
request = groupdocs_comparison_cloud.PostChangesRequest(options)
# Değişiklikleri gönder
response = api_instance.post_changes(request)

# Ekran değişiklikleri
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'daki Değişikliklerin Listesini Alın

Python’daki Değişikliklerin Listesini Alın.

Python’da Parola ve Meta Verilerle Karşılaştırın ve Kaydedin

Ortaya çıkan dosyayı parola ile koruyabilir ve aşağıda verilen adımları izleyerek meta verilerle kaydedebiliriz:

  • Öncelikle CompareApi’nin bir örneğini oluşturun.
  • Ardından, bir FileInfo örneği oluşturun ve kaynak PDF dosya yolunu ayarlayın.
  • Ardından, FileInfo’nun başka bir örneğini oluşturun ve hedef PDF dosya yolunu ayarlayın.
  • Ardından, Ayarların bir örneğini oluşturun.
  • Ardından, Meta Verilerin bir örneğini oluşturun.
  • Bundan sonra, yazar, şirket, son\kaydet\tarafından vb. gibi çeşitli meta veri özelliklerini ayarlayın.
  • Ardından, şifreyi ve şifre\kaydet\seçeneklerini ayarlayın.
  • Ardından, ComparisonOptions’ın bir örneğini oluşturun.
  • Ardından, kaynak/hedef dosyaları atayın ve çıktı dosyası yolunu ayarlayın.
  • Bundan sonra, ComparisonOptions nesnesi ile ComparisonsRequest’in bir örneğini oluşturun.
  • Son olarak, argüman olarak ComparisonsRequest ile CompareApi.comparisons() yöntemini çağırarak sonuçları alın.

Aşağıdaki kod örneği, ortaya çıkan dosyanın Python’da bir REST API kullanarak bir parola ve meta verilerle nasıl kaydedileceğini gösterir.

# Bu kod örneği, ortaya çıkan dosyanın bir parola ve meta verilerle nasıl kaydedileceğini gösterir.
# Gerekli API örneklerini oluşturun
api_instance = groupdocs_comparison_cloud.KarşılaştırmakApi.from_keys(client_id, client_secret)

# Kaynak PDF
source = groupdocs_comparison_cloud.FileInfo()
source.file_path = "source.pdf"

# Hedef PDF
target = groupdocs_comparison_cloud.FileInfo()
target.file_path = "target.pdf"

settings = groupdocs_comparison_cloud.Settings()
# Meta verileri ayarla
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"

# Karşılaştırma seçeneklerini tanımlayın
options = groupdocs_comparison_cloud.ComparisonOptions()
options.source_file = source
options.target_files = [target]
options.output_path = "result.pdf"
options.settings = settings

# Karşılaştırma isteği oluştur
request = groupdocs_comparison_cloud.ComparisonsRequest(options)

# Karşılaştırmak
response = api_instance.comparisons(request)

Çevrimiçi Deneyin

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

Çözüm

Bu yazıda, PDF belgelerini bulutta nasıl karşılaştıracağımızı öğrendik. Python’da birden çok PDF dosyasını karşılaştırmayı, değişiklik stilini özelleştirmeyi ve değişikliklerin bir listesini almayı da gördük. Bu makale aynı zamanda birden çok PDF dosyasını programlı olarak buluta yüklemeyi ve ardından ortaya çıkan dosyayı buluttan indirmeyi de açıkladı. Ayrıca 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.

Ayrıca bakınız