Aspose.PDF FOSS for Python Özellikleri

Aspose.PDF FOSS for Python Özellikleri

Aspose.PDF FOSS for Python Özellikleri

Aspose.PDF FOSS for Python, PDF belgelerini oluşturmak, açmak, değiştirmek ve kaydetmek için saf-Python bir kütüphanedir. Bu sayfa, ana yetenek alanlarını ve bunların giriş noktası olarak işlev gören sınıfları inceler. Her alan, kendi geliştirici rehberi sayfasında derinlemesine ele alınır.


Belge ve Sayfa Yönetimi

Document, her işlem için kök nesnedir. Yeni, boş bir belge başlatmak için hiçbir argüman vermeden oluşturun veya mevcut bir belgeyi bir yol, baytlar veya akıştan okumak için load_from() çağırın. document.pages, değiştirilebilir PageCollection‘ı ortaya çıkarır ve Page.add_text, bir sayfada konumlandırılmış metin yerleştirir.

from aspose_pdf import Document

document = Document()
page = document.pages.add()
page.add_text("Hello from Aspose.PDF FOSS!", x=72, y=720, font_size=18)
document.save("hello.pdf")

Metin Çıkarma ve Arama

PdfExtractor, bir belgeye bağlanır ve metni sayfa sayfa çeker. bind_pdf() kaynağı açar, extract_text() çıkarımı gerçekleştirir ve get_text() birikmiş sonucu döndürür.

from aspose_pdf import PdfExtractor

extractor = PdfExtractor()
extractor.bind_pdf("hello.pdf")
extractor.extract_text()
print(extractor.get_text())
extractor.close()

Konumlandırılmış, parça başına arama ve değiştirme için, TextFragmentAbsorber, eşleşen TextFragment nesnelerini text_search_options ile, büyük/küçük harf duyarlılığı ve düzenli ifade eşleştirmesini kontrol ederek ortaya çıkarır.


Sayfa Görüntülerine Dönüştürme

Document.save_page_as_image tek bir sayfayı doğrudan bir PNG veya TIFF dosyasına, yapılandırılabilir DPI’de işler. Daha düşük seviyeli erişim için, Page.render get_pixel() ve pixels aracılığıyla ham piksel verileri içeren bir RasterizedPage döndürür.

from aspose_pdf import Document

document = Document()
document.load_from("hello.pdf")
document.save_page_as_image(0, "page-1.png", dpi=150)

Formlar ve Etkileşimli Alanlar

AcroForm alanları, bir Form arayüzü olan Document.form aracılığıyla yönetilir. Form.add_text_field() (ve onay kutusu, radyo, liste ve kombobox eşdeğerleri) bir sayfaya ve bir widget dikdörtgenine bağlı yeni bir alan oluşturur ve bir Field döndürür. Form.fields, belgede şu anda bulunan tüm alanları listeler.

from aspose_pdf import Document

document = Document()
page = document.pages.add()
document.form.add_text_field("customer_name", page, (72, 700, 300, 720))

for field in document.form.fields:
    print(field.name, field.field_type)

document.save("form.pdf")

Güvenlik, Şifreleme ve İmzalar

Document.encrypt, bir belgeyi kullanıcı parolası (açmak için gerekli) ve sahibi parolası (izinleri değiştirmek için gerekli) ile korur; decrypt() ve change_passwords(), zaten açık bir belgede korumayı yönetir. is_encrypted, mevcut durumu raporlar.

from aspose_pdf import Document

document = Document()
document.load_from("hello.pdf")
document.encrypt(user_password="secret", owner_password="owner-secret")
document.save("encrypted.pdf")

Dijital imza doğrulaması, güven ve iptal durumu açıklayan bir ValidationResult döndüren PdfSignature.validate tarafından yönetilir ve SigningUtils, sertifika ve PKCS#7/CAdES imzalama yardımcıları sağlar.


PDF/A ve PDF/UA Uyumluluğu

Document.validate_pdfa bir sezgisel PDF/A uyumluluk kontrolü yürütür ve bir PdfAValidationResult döndürür; convert_to_pdfa() belgeyi o seviyeye yönlendirmeye çalışır. validate_pdfua() ve auto_tag(), PDF/UA için eşdeğer erişilebilirlik kontrolü ve otomatik yapı-ağacı etiketlemesi sağlar.

from aspose_pdf import Document

document = Document()
document.load_from("hello.pdf")

result = document.validate_pdfa("1b")
if not result.is_valid:
    document.convert_to_pdfa("1b")

document.auto_tag()
document.save("compliant.pdf")

İpuçları ve En İyi Uygulamalar

  • Nesneyi doğrudan document.pages, page.annotations veya document.form tarafından döndürülen şekilde değiştirin — bir sayfanın veya alanın ayrı bir kopyasında yapılan düzenlemeler, save() çağırdığınızda yansıtılmaz.
  • PageCollection, bu Python bağlamında sıfırdan başlar (document.pages[0] ilk sayfadır).
  • Güvenilmeyen girdi üzerinde load_from() çağırırken daha geniş AsposePdfException öncesinde InvalidPasswordException ve PdfParseException‘i yakalayın, böylece hatalı bir parolaya karşı, bozuk bir dosyaya karşı farklı bir şekilde tepki verebilirsiniz.
  • Yoğun düzenlenmiş belgelerde save()‘den önce document.optimize() veya compress_streams()‘i çağırarak kullanılmayan kaynakları kaldırın ve dosya boyutunu küçültün.
  • Güvenilmeyen bir kaynaktan PDF işlenirken load_from()‘e sınırlı bir PdfLoadLimits geçirin, böylece ayrıştırma sırasında bellek ve nesne sayısını sınırlayın.

Yaygın Sorunlar

SorunNedenDüzeltme
save() değişmemiş düzenlemeler içeren bir dosya üretirDüzenlemeler, document.pages, annotations veya form tarafından elde edilen nesne yerine bir sayfa, ek açıklama veya alan kopyasına yapıldıBu koleksiyonlar tarafından doğrudan döndürülen nesneyi değiştirin
InvalidPasswordException load_from() üzerindeBelge şifre korumalı ve şifre girilmedi ya da yanlış şifre sağlandıDoğru şifreyi girin: document.load_from(path, password="...")
validate_pdfa(), convert_to_pdfa() sonrasında hâlâ bir font hatası rapor ediyorSağlanan font_lookup_directory içinde eşleşen bir font dosyası bulunamadıEksik fontu arama dizinine ekleyin veya dönüştürmeden önce FontRepository ile kaydedin
Oluşturulan görüntü boş görünüyorsave_page_as_image() ya da render()‘e yanlış sayfa indeksi verildipages sıfır indekslidir — indeksi doğrulayın ve PdfExtractor‘in o sayfa için metin döndürüp döndürmediğini kontrol edin
Form.add_text_field() ile eklenen alan sayfada görünmüyorWidget dikdörtgeni sayfanın media_box dışına düşüyorDikdörtgen koordinatlarının Page.media_box içinde olduğundan emin olun

FAQ

Aspose.PDF Python için FOSS, ticari bir PDF motoruna bağlı mı?

Hayır. Sıfırdan, saf-Python PDF motoru olup MIT lisansı altında yayınlanmıştır. Tek çalışma zamanı bağımlılıkları cryptography ve asn1crypto‘dir, şifreleme ve imza doğrulama için kullanılır.

Mevcut bir PDF’i açmak yerine sıfırdan bir PDF oluşturabilir miyim?

Evet. Document() argümansız çağrıldığında boş, bellek içi bir belge oluşturur; kaydetmeden önce sayfa eklemek için document.pages.add()‘i çağırın.

Bir sayfayı hangi raster formatlarına renderlayabilirim?

Page.render ve Document.save_page_as_image PNG veya TIFF raster çıktısı üretir; döndürülen RasterizedPage ayrıca get_pixel() ve pixels özelliği aracılığıyla ham piksel verilerini sunar.

Paket-özgü hatalar için hangi istisna yakalanmalı?

Catch AsposePdfException. Her paket-özel hata — ayrıştırma (PdfParseException), parola ve şifreleme (PdfSecurityException, InvalidPasswordException), ve doğrulama (PdfValidationException) başarısızlıkları — bundan türetilir.

Sonra nereye gitmeliyim?

Getting Started, kurulum, lisanslama ve ilk çalışan örneği kapsar. Bu geliştirici kılavuzu, formlar, gömülü dosya ekleri, yazı tipi keşfi ve taslak/yer imi oluşturma gibi belge yönetimi konularına devam eder.


API Reference Özet

Sınıf/YöntemAçıklama
DocumentKök nesne — PDF oluşturma, yükleme, kaydetme ve yönetme
Document.pagesBelgenin değiştirilebilir PageCollection
Document.load_from / Document.saveBir yol, bayt veya akıştan okuyun ya da ona yazın
Document.encrypt / Document.decryptParola koruması ekleyin ya da korumayı kaldırın
Document.validate_pdfa / Document.convert_to_pdfaHeuristik PDF/A uyumluluk kontrolü ve dönüşüm
Document.validate_pdfua() / Document.auto_tagPDF/UA erişilebilirlik kontrolü ve yapı otomatik etiketleme
Page.add_textBir sayfaya konumlandırılmış metin ekle
Page.renderBir sayfayı RasterizedPage‘a renderle
PdfExtractorSayfa metnini ve gömülü ekleri çıkar
PdfFileEditorDosyalar arasında sayfaları birleştir, böl, ekle ve sil
Form / FieldAcroForm konteyner ve bireysel form alanları
PdfSignature / SigningUtilsDijital imza doğrulama ve oluşturma
AsposePdfExceptionHer paket-özel istisna için temel sınıf

Ayrıca Bakınız

 Türkçe