Anotasyon kaldırma JSON ve callback işlemleri

Windows ve native Linux C ABI işlem giriş noktaları annotations.remove kabul eder; istek JSON anotasyonları seçer, PDF baytları ise JSON'a gömülmek yerine callback IO'dan geçer

{
  "schemaVersion": 1,
  "type": "annotations.remove",
  "annotations": [{"page": 0, "name": "review-note"}],
  "annotationLimits": {
    "maxAnnotations": 4096,
    "maxOperations": 1000000,
    "maxNameBytes": 1048576,
    "maxWorkingBytes": 33554432
  }
}

annotations, gerçek girdi belgesi içinde bir integer page ve boş olmayan bir string name içeren nesnelerden oluşan bir array olmalıdır; isimler çözülmüş Unicode NM ile tam olarak eşleşir

Boş bir array veya eşleşmeyen geçerli kimlikler bir no-op'tur; yinelenen seçiciler, belirsiz seçili isimler, bozuk anotasyon sahipliği ve Widget seçimi başarısız olur

Girdi ve yayımlama yaşam döngüsü

Girdi IO olmadan kaldırma, handle'ın geçerli committ edilmiş belgesi üzerinde çalışır; açık girdi IO bağımsız bir PDF sağlar ve işlem başarılı olmadan önce geçerli context'i değiştirmek yerine özel olarak aşamalandırılır

Şifreli girdinin kimlik doğrulaması gerektirdiğinde password sağlayın; gerçek anotasyon izni ve imzalı belge politikası yine de geçerlidir

PDF çıktı IO ve sonuç IO ayrı sınıklardır; motor adayı hazırlar, PDF'ini yayımlar, sınırlı JSON sonucunu yayımlar, cancellation'ı denetler ve ancak ondan sonra handle'ın geçerli belgesini değiştirir

Bir okuma, yazma, sonuç yayımlaması, politika, bütçe veya cancellation başarısızlığı önceki committ edilmiş context'i korur ve o handle'da normal bir yeniden denemeye izin verir

Bir callback sınığı, sonraki bir yazma, sonuç callback'i veya cancellation başarısız olduğunda zaten bayt içerebilir; context geri alması o harici baytları geri çekemez, bu yüzden çağıranlar kendi sınıklarını işlemsel olarak aşamalandırmalı ve yayımlamalıdır

Committ edilmiş sonuca karşı yinelenen kaldırma sıfır döndürür ve geçerli revizyonun tam kopyasını yayımlar; callback çıktısını yalnızca işlemin durumunu kontrol ettikten sonra karşılaştırın

Sonuç ve sınırlar

Başarılı bir sonuç schemaVersion: 1, statusCode: 0, status: "ok", removed, mediaType: "application/pdf" ve annotationProfile: "page-and-nm-removal-v1" içerir

removed, popup ve yanıt kaskadlarını içerir; bağımlılıklar döngü oluşturduğunda bile her anotasyonu bir kez sayar

annotationLimits, THPDFHeadlessAnnotationRemovalOptions tarafından tanımlanan etkin pozitif kapasiteleri düşürür; işlem belleği, nesne, sayfa, çıktı, sonuç ve geçen süre sınırları bağımsız kalır

İsteğe bağlı signaturePolicy, mevcut kimlik doğrulamalı CMS politikasını yapılandırır; işlem giriş noktasının desteklediği gerekli CAdES, zaman damgaları ve güven gereksinimleri dâhil

Gerçek kaldırmalar AES anotasyon izinlerine ve kimlik doğrulamalı sertifikasyon P1/P2/P3 politikasına tabidir; başarılı bir şifre kontrolü veya imzasız bir hata mesajı, izin ya da güvenilir sertifikasyon kanıtı değildir

Başarısızlıkta, döndürülen işlem durumunu ve mevcut yapılandırılmış hata sonucunu kontrol edin; başarısız bir sonuç sınığı tam bir hata JSON belgesinin teslimini engelleyebilir

Native kaldırma semantiği ve sıradan Windows dosya işleri için bkz.