function IsAnnotationObjectSubtypeSupported(Subtype: TPdfAnnotationSubtype): Boolean;
| Subtype | TPdfAnnotationSubtype. Підтип для перевірки: anUnknown, anText, anLink, anFreeText, anLine, anSquare, anCircle, anPolygon, anPolyLine, anHighlight, anUnderline, anSquiggly, anStrikeout, anStamp, anCaret, anInk, anPopup, anFileAttachment, anSound, anMovie, anWidget, anScreen, anPrinterMark, anTrapNet, anWaterMark, anThreed, anRichMedia, anXfaWidget, anRedact |
| Result | Boolean. True, коли модуль підтримує цей підтип для роботи на рівні об'єктів |
Доповнення на рівні об'єктів до IsAnnotationSubtypeSupported. Та перевірка повідомляє, чи можна створити підтип через CreateAnnotation, а ця питає в модуля, чи підтримує він роботу з об'єктами цього підтипу — це запит, який керує API об'єктів анотацій, як-от AnnotationObjectInfo і AnnotationObjectCount, що читають і редагують об'єкти сторінки, намальовані всередині анотації
Відповідь різниться між збірками PDFium. Попередня перевірка дає змогу заздалегідь увімкнути або вимкнути функцію редагування на рівні об'єктів, а не отримувати збій пізніше на самому виклику
Коли завантажена збірка PDFium не експортує нативний запит (FPDFAnnot_IsObjectSupportedSubtype), результат — False, що тримає викликача на консервативному боці
if Pdf1.IsAnnotationObjectSubtypeSupported(anStamp) then
BtnEditStampObjects.Enabled := True
else
// no object-level stamp editing on this PDFium build
BtnEditStampObjects.Enabled := False;