Native Linux C ABI anotasyon exchange'i

hpdf_document_execute_json_v1, annotations.export ve annotations.import'u mevcut versioned işlem tanımlayıcısı ve callback IO interface'leri üzerinden açığa çıkarır

PDF'i önce belge context'ine yükleyin; anotasyon import'u, seçilen XFDF veya FDF baytları için InputIO, kaydedilen PDF için OutputIO ve JSON sonuç metadata'sı için ResultIO kullanır

{"schemaVersion":1,"type":"annotations.export","format":"xfdf"}

XFDF export, UTF-8 XML'i OutputIO'ya yazar ve annotationCount, skippedAnnotationCount, decodedAttachmentBytes ve outputBytes bildirir

{"schemaVersion":1,"type":"annotations.import","format":"xfdf",
 "annotationLimits":{"maxBytes":1048576,"maxAnnotations":1000,
 "maxNodes":100000,"maxDepth":32,"maxWorkingBytes":67108864}}

Import, updated ve annotationProfile bildirir; sonra kaydedilen revizyonu yalnızca hem PDF hem sonuç callback'leri başarılı olduktan sonra benimser

Girdi/çıktı callback hataları, sonuç callback hataları ve cancellation, tam olarak önceki taahhüt edilmiş context'i korur; harici callback'ler, sonraki bir callback hatasından önce çoktan kısmi bir stream almış olabilir

Capability JSON, seçilen exchange profillerini tanımlar; XFDF profili eşlenmiş türleri, append import'u, gömülü veriyi, ileri yanıtları ve popup nesnelerini korur

Anotasyon sınırları, işlem kapasitelerini düşürebilir ve artıramaz; MaxBytes ayrıca işlem belleğinin 64'e bölümüyle, working storage işlem belleğinin yarısıyla ve export baytları çıktı sınırıyla sınırlanır

Import, CAdES, trust ve timestamp doğrulama ayarları için mevcut signaturePolicy nesnesini kabul eder ve anotasyon izinlerini ve kimlikli DocMDP politikasını uygular

Boş ABI import'ları, sıfır güncelleme döndürürken taahhüt edilmiş PDF baytlarını korur

Yerel adlandırılmış ve açık destination'lar ve GoTo action'ları, gerçek sayfa referanslarını ve sınırlı tam ondalık koordinatları paylaşılan anotasyon codec'i boyunca korur

ELF SONAME ve HOTPDF_1.0 sembol sürümü değişmeden kalır ve mevcut C tüketicileri aynı public işlem tanımlayıcısını kullanmaya devam eder

Standard stamp appearance transport'u, gerçek Form stream'lerini ve sınırlı asiklik yazı-tipi, görsel ve grafik kaynaklarını base64 yazılan XML üzerinden korur

Eşlenmiş profil ve native API · Linux C ABI · Form-data işlemleri

FDF nesne-graf işlemleri

{"schemaVersion":1,"type":"annotations.import","format":"fdf"}

İkili anotasyon graf'leri için aynı işlem tanımlayıcısı ile format="fdf"'i ve InputIO, OutputIO ve ResultIO callback'lerini seçin; annotations.export FDF baytlarını OutputIO'ya yazar

FDF profili, verilen AP ve RO kaynaklarını, paylaşılan indirect nesneleri ve bağlamsal yerel GoTo sayfa referanslarını korur; aynı sayfada eşleşen bir anotasyon NM'i bir değiştirmeyi tanımlarken adsız veya eşleşmeyen anotasyonlar eklenir

Başarılı FDF import'u annotationProfile="pdf-object-graph-v1" ve bir integer updated sayısı bildirir; sıfır güncellemeli bir işlem, tam olarak son taahhüt edilen PDF baytlarını korur

FDF annotationLimits ayrıca maxObjects kabul eder; tüm sınırlar kapsayan işlemle sınırlı kalır; başarısızlık ve cancellation mevcut callback transaction garantilerini korur

Yalnızca anotasyon işlemleri boş olmayan Fields'ı ve gömülü Differences'ı reddeder; action verisi çalıştırılmadan taşınır

FDF graf davranışı ve sınırları ile native FDF sınırları için bkz.

Anotasyon kaldırma

{"schemaVersion":1,"type":"annotations.remove","annotations":[{"page":0,"name":"review-note"}]}

annotations.remove, geçerli belgeyi veya InputIO ile sağlanan bağımsız bir PDF kullanır; sonra context'i taahhüt etmeden PDF OutputIO ve JSON ResultIO yayınlar

Sonuç removed ve annotationProfile="page-and-nm-removal-v1" bildirir; annotationLimits anotasyon sayısını, işlemleri, isim baytlarını ve working depolamayı sınırlar

Başarısızlık veya cancellation taahhüt edilen context'i korur; zaten yazılmış baytlar geri alınamayacağı için çağıranlar callback sınıklarını kendileri aşamalandırır