property JavaScriptActionCount: Integer; // read only
Belge düzeyinde bildirilen JavaScript eylemlerinin sayısını döndürür —
genellikle catalog’un /Names /JavaScript name tree’si altındaki girdiler
(PDF 1.7 spec section 12.6.4.16) ile belge düzeyi OpenAction,
DA, WC, WS, DS, WP,
DP girdileri, bunların action dictionary’leri bir JS stream taşıyorsa birlikte sayılır
Alan düzeyi ve annotation düzeyi scriptler bu sayıya dahil değildir; bunlar
annotation veya AcroForm field dictionary’lerinde yer alır
Belge yüklenmezse, Active False ise ya da PDF basitçe belge düzeyi script içermiyorsa 0 döner. Tek bir girdiyi TPdfJavaScriptAction kaydı olarak almak için JavaScriptAction[Index] kullanın ya da tüm diziyi tek çağrıda elde etmek için JavaScriptActions kullanın
Bu özelliği okumak ucuzdur — PDFium yalnızca name tree üzerinde dolaşır, hiçbir script çalıştırmaz. PDFiumPas JavaScript değerlendirmez; dönen dizeler yalnızca inceleme verisidir ve adli analiz, script temizleme ya da “Document contains JavaScript” uyarısını kullanıcıya göstermek için yararlıdır
JavaScriptActions yerine indeksli erişiciyle gecikmeli dolaşınName girdileri geçerlidir — PDF adı olmayan action dictionary’lere izin verir (ör. OpenAction). Name değerinin benzersiz olacağına da güvenmeyin
// PDF gömülü JavaScript içeriyorsa kullanıcıyı uyarın.
if Pdf1.JavaScriptActionCount > 0 then
if MessageDlg('Bu belge JavaScript içeriyor. Yine de açılsın mı?',
mtWarning, [mbYes, mbNo], 0) = mrNo then
Pdf1.Active := False;