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.