Windows anotasyon FDF ve XFDF exchange'i

Windows dosya işleri ve hpdf_document_execute_json_v1, eşlenmiş anotasyonları dışa aktarır ve XFDF anotasyonlarını kimikli Windows transaction köprüsü üzerinden ekler

Eşlenmiş türler ve property'ler, native anotasyon XFDF'siyle paylaşılır; sınırlı ikili eklenti/ses stream'leri, Unicode zengin içerikler, popup nesneleri ve ileri yanıtlar dâhil

Dosya işleri

{
  "schemaVersion": 1, "type": "annotations.import", "format": "xfdf",
  "input": "source.pdf", "annotationInput": "annotations.xfdf",
  "output": "annotated.pdf", "password": "owner",
  "annotationLimits": {"maxBytes": 1048576, "maxAnnotations": 1000},
  "budget": {"memoryBytes": 268435456, "outputBytes": 134217728,
    "timeMilliseconds": 60000, "resultBytes": 16777216}
}

annotations.export, aynı formatı, girdiyi, çıktıyı ve isteğe bağlı şifreyi kullanır; PDF yerine UTF-8 XFDF yazarak; import, annotationInput gerektirir

Çıktı, PDF girdisini, XFDF girdisini veya verilen trust/kanıt dosyalarını, mevcut bir hard link dâhil alias etmemelidir; yayın, münhasır geçici bir kardeş ayırır, sınırlı sonuçları doğrular, adayı flush eder ve kapatır, sonra hedefi atomik olarak değiştirir

Hata ve cancellation, mevcut eksiksiz hedefi korur ve işlemin geçici dosyasını kaldırır

Orijinal V1 callback'leri

hotpdf_abi.h'den değişmemiş hpdf_operation_v1'i ve hpdf_io_v1'i kullanın; anotasyon exchange'i yazı tipi uzantısı gerektirmez

Hedef PDF'i önce hpdf_document_load_from_io ile yükleyin; import, XFDF'yi InputIO'dan okur, aday PDF'i OutputIO'ya yazar ve sınırlı JSON'u ResultIO'ya yazar; export, aktif sahipli PDF'i okur ve XFDF'yi OutputIO'ya yazar

Şifreli girdi için, yüklenmiş PDF'i kimiklemek için kullanılan işlem şifresini tekrarlayın; bu işlem, önceki yükleme çağrısından örtük bir şifre korumaz

Yalnızca başarılı PDF ve sonuç callback'leri ve ardından gelen nihai cancellation checkpoint'i, yeni belgeyi ve sahipli revizyonu benimser; başarısız girdi, çıktı veya sonuç callback'leri, hatalı XML, tükenen sınırlar ve cancellation önceki context'i korur

Callback'ler, sonraki bir hatadan önce aday baytları alabilir; çağıranın sahipliği hedefini, yalnızca HPDF_STATUS_OK döndükten sonra yayınlayın

Politika, sınırlar ve sonuçlar

Import, mevcut imza bütünlüğünü ve ESS imzalayan bağını kimikler; P1 ve P2 sertifikasyonu anotasyon değişikliklerini reddederken P3, orijinal imzalı baytları koruyan bir anotasyon revizyonuna izin verir

AES-256 R5/R6 import'ları, şifreleme parametrelerini ve orijinal revizyon önekini korur; boş bir import, politikayı kimikler ve tam güncel baytları korur

signaturePolicy, Windows form-data exchange'i'nde anlatılan mevcut Boolean trust/timestamp/revocation gereksinimlerini ve açık trust yollarını kabul eder

annotationLimits, maxBytes, maxAnnotations, maxNodes, maxDepth ve maxWorkingBytes'i düşürebilir; değerler, pozitif tamsayı JSON sayılarıdır ve hesaplanan varsayılanları yükseltemez

Working, çıktı, sonuç, nesne ve sayfa bütçeleri de uygulanır; callback işlemleri, ek daha sıkı bir son tarih olarak elapsedMilliseconds kabul eder

Export, annotationCount, skippedAnnotationCount, decodedAttachmentBytes ve outputBytes bildirir; import, updated, outputBytes ve mapped-annotations-v1'e eşit annotationProfile bildirir

Sınırlar

Capabilities, anotasyon exchange'ini file-job ve execute-json-v1 üzerinden duyurur — append-only import, genel appearanceImport=false ve scoped stampAppearanceImport=true ile

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

Genel XFDF AP sözdizimi, XFDF anotasyon değiştirme/kaldırma ve daha geniş XFDF action'ları ayrı işler olarak kalır; uzak GoToR action'ları ve yerel destination'lar mevcut sınırlı profillerini kullanır

Genel ExecuteLoadedOperation ve eski job-handle callback kaydı, ayrı giriş noktalarıdır; Pascal çağıranları, açık transaction sınıfını kullanabilir

İkili FDF exchange

Aynı dosya işleri ve V1 callback'leri format="fdf" kabul eder; dosya import'ları annotationInput'tan ikili FDF okur ve export'lar seçilen çıktıya ikili FDF yazar

FDF nesne-graf profili, verilen appearance kaynaklarını ve paylaşılan indirect nesneleri korur ve aynı sayfada eşleşen boş olmayan bir anotasyon NM'iyle değiştirmeyi destekler

FDF import'u annotationProfile="pdf-object-graph-v1" döndürür; updated gerçek anotasyon değişikliklerini sayar ve eşdeğer bir import, kesin mevcut revizyonu korur

FDF, pozitif tamsayı annotationLimits kontrollerine maxObjects ekler ve mevcut kimlik doğrulamalı politikayı, sınırlı aday yayınını ve callback ownership kurallarını kullanır

Pascal çağıranları THPDFWindowsFormDataTransaction.ExportAnnotationsFDF ve ImportAnnotationsFDF'yi kullanabilir; ChangedAnnotations bu profil için gerçek değişiklikleri raporlar

Boş olmayan FDF Fields ve gömülü Differences ayrı işlem gerektirir ve yayınlamadan önce yalnızca-anotasyon işlemlerini başarısız kılar

Windows anotasyon kaldırma, eşlenmiş XFDF append semantiğini değiştirmeden kesin sayfa-ve-NM kimlikleri için ayrı hazırlanmış bir transaction ve JSON işi sağlar