Oluşturulan Uyumluluk API ile Çalışma

Oluşturulan Uyumluluk API ile Çalışma

Oluşturulan Uyumluluk API ile Çalışma

Aspose.PDF FOSS for Python, aspose_pdf.generated alt paketinde ikinci, daha küçük bir API yüzeyi sunar: generated.document.Document, generated.forms.UnsignedContent ve UnsignedContentAbsorber, ayrıca generated.pdfa.PdfAValidateOptions ve PdfAValidationResult. Bu sınıfların her biri, kütüphanenin birincil API içindeki bir sınıfla aynı ada sahiptir (aspose_pdf.Document, aspose_pdf.UnsignedContent vb.), ancak bunlar ayrı, bağımsız tanımlanmış sınıflardır ve sınırlı bir metod yüzeyine sahiptir. Bunlar bağımsız bir uyumluluk katmanı olarak bulunur — her zaman tam aspose_pdf.generated.* yolu ile içe aktarın, böylece hangi sınıfı çağırdığınızı bilirsiniz.


Oluşturulan Document aracılığıyla belge yaşam döngüsü

generated.document.Document, temel belge yaşam döngüsünü destekler: yükleme, kaydetme, temel optimizasyon, şifreleme ve doğrulama. Özelliklerinin çoğu, birincil Document sınıfında sunulan daha zengin tipler yerine Any tipindedir.

from aspose_pdf.generated.document import Document

doc = Document()
doc.load_from("input.pdf")

doc.optimize(compress_images=True)
doc.optimize_resources(remove_unused=True)

if doc.validate():
    doc.save("output.pdf")

doc.dispose()

Şifreleme ve şifre değişiklikleri, birincil Document.encrypt‘ın ayrı kullanıcı/sahip şifreleri yerine tek şifreli bir form kullanır:

from aspose_pdf.generated.document import Document

doc = Document()
doc.load_from("input.pdf")

doc.encrypt("secret")
doc.change_passwords("secret", "new-secret")
doc.save("protected.pdf")

İmzalanmamış içeriği çıkartma

generated.forms.UnsignedContentAbsorber, henüz imzalanmamış bir belgenin sayfalarını, form alanlarını ve açıklamalarını bir UnsignedContent konteynerine çıkarır. Çıkarma işlemini başlatmak için extract() çağırın, ardından sonucu yeniden çalıştırmadan kontrol etmek için get_extracted() veya has_extracted() kullanın.

from aspose_pdf.generated.document import Document
from aspose_pdf.generated.forms import UnsignedContentAbsorber

doc = Document()
doc.load_from("input.pdf")

absorber = UnsignedContentAbsorber()
extracted = absorber.extract()

print(len(extracted.pages), len(extracted.form_fields), extracted.annotations)

if absorber.has_extracted():
    same_result = absorber.get_extracted()

absorber.reset()

UnsignedContent da ayrıca doğrudan, bir absorber’dan bağımsız olarak oluşturulup doldurulabilir:

from aspose_pdf.generated.forms import UnsignedContent

bundle = UnsignedContent()
bundle.add_page(some_page)
bundle.add_form_field(some_field)
bundle.add_annotation(some_annotation)

bundle.remove_page(some_page)
bundle.reset()

PDF/A doğrulama seçenekleri ve sonuçları

generated.pdfa.PdfAValidateOptions ve PdfAValidationResult, PDF/A-stil doğrulama iş akışları için bağımsız bir seçenek/sonuç çiftidir. Bunlar, birincil API’ın Document.validate_pdfa() tarafından döndürülen sınıflar değildir ve PdfAValidator.process() tarafından tüketilmez — bunlar, kendi, ayrı olarak tanımlanmış PdfAValidateOptions ve PdfAValidationResult sınıflarını, daha zengin bir yüzey (level, warnings, is_heuristic ve bir font_lookup_directory) ile kullanır.

from aspose_pdf.generated.pdfa import PdfAValidateOptions, PdfAValidationResult

options = PdfAValidateOptions()
options.add_input()
options.set_option("level", "1b")

stored_options = options.get_options()

result = PdfAValidationResult()
result.add_error("Font not embedded: Arial")

summary = result.to_dict()
is_valid = result.is_valid

İpuçları ve En İyi Uygulamalar

  • Her generated sınıfını tam altmodül yolu (from aspose_pdf.generated.document import Document ve benzer şekilde generated.forms ve generated.pdfa) üzerinden içe aktarın — çıplak bir Document veya UnsignedContent içe aktarımının uyumluluk sürümüne çözüleceğini asla varsaymayın.
  • Aynı modülde bir dosya aynı zamanda birincil API’ı da kullandığında, içe aktarılan sınıfa ayırt edici bir yerel ad verin, böylece iki yüzey her çağrı noktasında açıkça ayrı kalır.
  • generated.pdfa.PdfAValidateOptions/PdfAValidationResult öğesini kendi içinde bağımsız bir çift olarak ele alın: seçenekleri oluşturun, kendi doğrulama mantığınızı çalıştırın ve bulguları add_error() ile kendiniz kaydedin — bunlar Document.validate_pdfa() tarafından otomatik olarak doldurulmaz.
  • extract()‘nin zaten çalıştığından emin değilseniz, get_extracted()‘i çağırmadan önce UnsignedContentAbsorber.has_extracted()‘i kontrol edin.
  • Yeni kod için, özellikle azaltılmış, oluşturulmuş-uyumluluk yüzeyine ihtiyacınız yoksa, birincil aspose_pdf.Document API’yi tercih edin.

Yaygın Sorunlar

SorunNedenDüzeltme
Yanlış Document yöntemleri mevcut (eksik pages, form, xmp_metadata ve benzerleri)generated.document.Document içe aktarıldı, birincil aspose_pdf.Document yerineAzaltılmış arabirim istemiyorsanız birincil sınıfı (import aspose_pdf; aspose_pdf.Document()) içe aktarın
generated.pdfa kaynağından PdfAValidateOptions/PdfAValidationResult, PdfAValidator.process() ile çalışmazBirincil API’ın PdfAValidator kendi PdfAValidateOptions/PdfAValidationResult sınıflarını bekler, generated.pdfa sürümlerini değilPdfAValidateOptions/PdfAValidationResult sınıflarını aspose_pdf tarafından dışa aktarılan PdfAValidator iş akışları için kullanın
get_extracted() None döndürürextract() o UnsignedContentAbsorber örneğinde hiç çağrılmadıextract()‘ı get_extracted()‘den önce çağırın, ya da önce has_extracted()‘yi kontrol edin
generated.document.Document üzerindeki özellikler Any tipindedir ve otomatik tamamlama sağlamazOluşturulan yüzey, statik tiplemeyi daha küçük ve daha basit bir API ile takas ederBeklenen tip’i çağrı noktasında tip dönüştürün veya belgeleyin, ya da daha zengin tipleme için birincil Document sınıfına geçin

FAQ

aspose_pdf.generated bir stub mı yoksa placeholder mı?

Hayır. Çalışan sınıflara sahip gerçek, içe aktarılabilir bir alt pakettir — Document, UnsignedContent, UnsignedContentAbsorber, PdfAValidateOptions ve PdfAValidationResult — sadece kütüphanenin birincil API’undan daha küçük, bağımsız bir yüzeydir.

Neden generated.document.Document, aspose_pdf.Document ile aynı ada sahip?

Bunlar, aynı adı taşıyan iki bağımsız tanımlı sınıftır. aspose_pdf.generated.document‘den içe aktarmak size uyumluluk sürümünü verir; aspose_pdf.Document‘i (veya from aspose_pdf import Document‘yi) içe aktarmak ise birincil sürümü verir.

generated.pdfa.PdfAValidateOptions’ı PdfAValidator.process()‘a geçirebilir miyim?

Hayır. PdfAValidator.process() birincil API parçasıdır ve birincil API’in kendi PdfAValidateOptions sınıfını bekler; bu sınıfın farklı bir yöntem imzası vardır (add_input(source) yerine parametresiz add_input()).

UnsignedContentAbsorber.extract() bir Document argümanına ihtiyaç duyuyor mu?

Hayır. extract() oluşturulan uyumluluk yüzeyinde hiçbir argüman almaz; absorber’ı oluşturun ve extract()‘i doğrudan çağırın.


API Reference Özeti

Sınıf / MetotAçıklama
Document.load_fromBir dosya yolundan, bayt dizisinden veya akıştan belge yükler
Document.saveBelgeyi bir hedefe kaydeder
Document.optimizeGenel optimizasyon gerçekleştirir, isteğe bağlı olarak görüntüleri sıkıştırır
Document.optimize_resourcesYazı tipleri ve görüntüler gibi paylaşılan kaynakları optimize eder
Document.encryptBelgeyi tek bir şifreyle şifreler
Document.change_passwordsBelgenin şifresini değiştirir
Document.validateBelgenin yapısal olarak geçerli olup olmadığını döndürür
Document.disposeBelgeyle ilişkili kaynakları serbest bırakır
UnsignedContent.add_page / remove_pageİmzalanmamış-content paketine bir sayfa ekler veya paketten bir sayfa kaldırır
UnsignedContent.add_form_field / remove_form_fieldİmzalanmamış-content paketine bir form alanı ekler veya paketten bir form alanı kaldırır
UnsignedContent.add_annotation / remove_annotationİmzalanmamış-content paketine bir annotation ekler veya paketten bir annotation kaldırır
UnsignedContentAbsorber.extractİmzalanmamış içeriği bir UnsignedContent örneğine çıkarır
UnsignedContentAbsorber.get_extractedVarsa, son çıkarılan UnsignedContent‘ı döndürür
UnsignedContentAbsorber.has_extractedÇıkarma işleminin gerçekleştirildiğini rapor eder
PdfAValidateOptions.add_inputDoğrulama için bir giriş kaynağını kaydeder
PdfAValidateOptions.set_option / get_optionsDoğrulama seçeneği değerlerini ayarlar veya okur
PdfAValidationResult.add_errorBir hata mesajı ekler ve sonucu geçersiz olarak işaretler
PdfAValidationResult.to_dictDoğrulama sonucunun sözlük temsili döndürür

Ayrıca Bakınız

 Türkçe