PageObjectInfo возвращает снимок TPdfPageObjectInfo, содержащий дескриптор, тип объекта, обычные и повёрнутые границы, эффективную матрицу, состояние активности, прозрачность, цвета заливки и обводки, значения альфа, толщину обводки, соединение линий, завершение линий, массив штрихов и фазу штрихов
HasRotatedBounds, HasActiveState и другие поля Has* отличают недоступное нативное значение от корректного нулевого
RotatedBounds передаёт повёрнутый четырёхугольник, HasLineJoin и HasLineCap показывают доступность стилей соединения и завершения линий, а DashPhase смещает начало узора штрихов
Info := Pdf1.PageObjectInfo(0);
Info.StrokeWidth := 4;
SetLength(Info.DashArray, 2);
Info.DashArray[0] := 8;
Info.DashArray[1] := 4;
Pdf1.UpdatePageObject(0, Info, [pocStrokeWidth, pocDashPattern]);
UpdatePageObject применяет каждое выбранное поле к тому же нативному объекту и один раз регенерирует содержимое страницы
TransformPageObject компонует аффинную FS_MATRIX с выбранным объектом
PathInfo возвращает режим заливки, состояние обводки, тип сегмента, конечную точку и состояние закрытия для каждого сегмента путиPageObjectClipPath возвращает все подпути отсечения и сегменты, связанные с объектом страницыTransformPageObjectClipPath(Index, Matrix) преобразует только геометрию отсечения и оставляет матрицу объекта страницы неизменнойFormObjectChildren возвращает подробные снимки непосредственных потомков Form XObjectDetachFormObjectChild(FormIndex, ChildIndex) удаляет одного потомка и передаёт владение возвращённым FPDF_PAGEOBJECT вызывающей стороне, которая обязана вставить его или уничтожитьTextObjectGlyphOutline открывает геометрию контура глифа, а TextObjectGlyphWidth(Index, GlyphIndex, FontSize) возвращает нативную ширину глифа (advance) при запрошенном размереTextObjectFontSize(Index) читает нативный размер текстового объекта, а SetTextObjectFontSize(Index, FontSize) изменяет его без аппроксимации через матричное преобразованиеGetImageObjectRenderedBitmap(Index) возвращает растровое изображение во владении вызывающей стороны с маской изображения, преобразованием цвета и матрицей изображения, применёнными PDFiumAnnotationObjectCount, AnnotationObjectInfo, AddPathToAnnotation и RemoveAnnotationObject работают с объектами внешнего вида аннотацийIsAnnotationObjectSubtypeSupported(Subtype) проверяет, поддерживает ли загруженный модуль PDFium извлечение, обновление и удаление объектов внешнего вида для подтипаPerformNamedAction выполняет известное действие документа, а OnNamedAction сообщает о вызовах обратного вызова именованных действийCharacterInfo возвращает цвета заливки и обводки, имя шрифта, флаги шрифта PDF, свободные границы глифа, эффективную матрицу и связанный дескриптор текстового объекта
CharacterIndexToTextIndex и TextIndexToCharacterIndex преобразуют индексы символов PDFium в индексы сгенерированного текстового потока и обратно
TPdfAnnotation открывает радиусы и ширину рамки через HasBorder, BorderHorizontalRadius, BorderVerticalRadius и BorderWidth
Поддержка цвета распространяется на ColorAlpha, InteriorColor и InteriorColorAlpha, доступность метаданных разметки показывают флаги HasAuthor, HasName, HasSubject, HasModificationDate, HasCreationDate и HasIcon, а жесты чернил, геометрия четырёхугольников и цели ссылок открываются через InkList, HasAttachmentPoints, HasLinkUri и LinkUri
Потоки внешнего вида normal, rollover и down доступны через признаки HasAppearanceNormal, HasAppearanceRollover и HasAppearanceDown и соответствующие им строки AppearanceNormal, AppearanceRollover и AppearanceDown
При чтении аннотации эти признаки идентифицируют непустое содержимое внешнего вида: нативный API возвращает одну и ту же пустую строку и для отсутствующего потока, и для пустого, поэтому оба сообщают False, а при сохранении записи обратно эти потоки остаются нетронутыми; вызывающий код по-прежнему может явно установить признак в True, чтобы записать пустой внешний вид
Присвойте обновлённую запись аннотации обратно Annotation[Index], чтобы записать выбранные значения рамки или внешнего вида
ConfigurePdfLibrary, GetPdfLibraryConfiguration и PdfLibraryConfigurationSealed настраивают и аудитируют неизменяемую нативную инициализацию и политику песочницы уровня процесса до первой загрузкиTPdfLibraryConfiguration переносит UserFontPaths, V8Isolate, V8EmbedderSlot, V8Platform, Renderer, FontBackend, BrotliEnabled, IsolatePerDocument и AllowMachineTime и использует TPdfRendererPreference (prpDefault, prpAgg, prpSkia) и TPdfFontBackendPreference (pfbpDefault, pfbpFreeType, pfbpFontations), чтобы выбирать только те нативные поля, которые требуются запрошенной конфигурацииPdfDefaultTtfMapCount и TryGetPdfDefaultTtfMapEntry перечисляют нативные подстановки шрифтов по умолчанию с контролируемым доступом по индексуTPdfDefaultTtfMapEntry копирует имя гарнитуры, набор символов и метаданные платформенного шрифта из одной записи карты по индексуFormFieldZOrderAtPoint и LinkZOrderAtPoint возвращают самый верхний нативный z-порядок или -1, когда цели нетTryGetAnnotationFileAttachment копирует ограниченные по размеру метаданные файла и полезную нагрузку, пока нативный дескриптор аннотации действителенTPdfAnnotationAttachment владеет скопированными метаданными и полезной нагрузкой независимо от дескрипторов страницы и аннотацииGetLinkedAnnotationIndex и GetLinkedAnnotationChain разрешают связи Popup и IRT с защитой от висячих ссылок, циклов и чрезмерной глубиныTPdfAnnotationRelationship выбирает связь Popup (parPopup) или IRT (parInReplyTo), а TPdfAnnotationSubtypes хранит массив подтипов политики фокусаGetAnnotationDictionaryValue и GetAttachmentDictionaryValue сообщают точный нативный вид значения, прежде чем вернуть поддерживаемое скалярное значениеTPdfDictionaryValueKind сохраняет нативную категорию объекта (pdvkUnknown, pdvkBoolean, pdvkNumber, pdvkString, pdvkName, pdvkArray, pdvkDictionary, pdvkStream, pdvkNull, pdvkReference), а TPdfDictionaryValue переносит поддерживаемый числовой или строковый скаляр в NumberValue и StringValue с явным признаком HasScalarValueSetFocusableAnnotationSubtypes и GetFocusableAnnotationSubtypes управляют правом на клавиатурный фокус через нативный дескриптор формыTPdfStructureElement.Attributes — плоское дерево TPdfStructureAttributeValues, узлы TPdfStructureAttributeValue которого привязываются к владеющему словарю атрибутов через AttributeIndex и сохраняют типизированные вложенные значения и побайтово точные двоичные данные в BlobValueTPdfView.FormFieldZOrderAt, TPdfView.LinkZOrderAt и TPdfView.ReplaceFormTextAndKeepSelection открывают соответствующие преобразования координат и операции с формой с сохранением выделения через визуальный элемент управленияThumbnailRawData возвращает встроенный поток миниатюры до декодирования фильтрамиThumbnailDecodedData возвращает встроенный поток миниатюры после декодирования фильтрамиTransformPageContent преобразует и отсекает все объекты страницы, регенерирует страницу и перезагружает её производные дескрипторыTransformPageAnnotations применяет ту же аффинную координатную модель ко всем аннотациям на текущей странице
Matrix.a := 0.5;
Matrix.b := 0;
Matrix.c := 0;
Matrix.d := -0.5;
Matrix.e := 0;
Matrix.f := 421;
Clip.Left := 0;
Clip.Top := 0;
Clip.Right := 300;
Clip.Bottom := 421;
Bitmap := Pdf1.RenderPageWithMatrix(300, 421, Matrix, Clip);
RenderPageWithMatrix принимает обратимую FS_MATRIX и прямоугольник отсечения в координатах устройства
Перегрузка, принимающая TBitmap во владении вызывающей стороны, рисует непосредственно в совместимый 32-битный DIB и возвращается к одному копированию, только когда внешний PDFium bitmap создать нельзя
Матричная отрисовка рисует содержимое страницы и неинтерактивные аннотации, выбранные флагами рендеринга, но не вызывает наложенный рендерер заполнения форм