PDFium Delphi Component Docs

IsAnnotationObjectSubtypeSupported Метод

Компонент: TPdf  ·  Модуль: PDFium
Спрашивает, поддерживает ли загруженный модуль PDFium обработку заданного подтипа аннотаций как объектов-аннотаций

Syntax

function IsAnnotationObjectSubtypeSupported(Subtype: TPdfAnnotationSubtype): Boolean;

SubtypeTPdfAnnotationSubtype. Проверяемый подтип: 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
ResultBoolean. True, когда модуль поддерживает этот подтип для обработки на уровне объектов

Description

Спутник IsAnnotationSubtypeSupported на уровне объектов. Тот вызов сообщает, может ли подтип быть создан через CreateAnnotation, а этот спрашивает у модуля, поддерживает ли он обработку объектов данного подтипа — запрос, управляющий API объектов-аннотаций вроде AnnotationObjectInfo и AnnotationObjectCount, которые читают и редактируют объекты страницы, нарисованные внутри аннотации

Ответ различается между сборками PDFium. Предварительная проверка позволяет приложению заранее включить или отключить функцию редактирования на уровне объектов, а не падать позже на реальном вызове

Когда загруженная сборка PDFium не экспортирует нативный запрос (FPDFAnnot_IsObjectSupportedSubtype), результат равен False, что удерживает вызывающий код на консервативной стороне

Example

if Pdf1.IsAnnotationObjectSubtypeSupported(anStamp) then
  BtnEditStampObjects.Enabled := True
else
  // no object-level stamp editing on this PDFium build
  BtnEditStampObjects.Enabled := False;

See Also

IsAnnotationSubtypeSupported, AnnotationObjectInfo, AnnotationObjectCount, CreateAnnotation