PDFium Component Docs

PDFium VCL Довідник API

Допоміжні модулі

МодульОпис
FPdfAsyncНадає токени скасування та легкі помічники future для фонової PDF-роботи, яку можна скасувати
FPdfMatrixНадає оболонку афінної матриці TPdfMatrix, яку використовують API перетворення об’єктів сторінки PDFium
FPdfPreflightReportБудує багаторазові об’єкти звіту preflight для PDF/A, PDF/UA, PDF/E, PDF/X, PDF/R і PDF/VT з експортом TXT / HTML / Markdown / JSON / CSV та лічильниками категорій проблем
FPdfThumbnailНадає прокручуваний елемент керування навігацією мініатюрами TPdfThumbnailView

Методи компонента TPdf

Керування документами

МетодОпис
CreateDocumentСтворити новий порожній PDF-документ
LoadDocument(Data: TMemoryStream; Buffered: Boolean = True)Завантажити PDF-документ із потоку пам’яті
LoadDocument(Data: Pointer; Size: Integer; Buffered: Boolean = True)Завантажити PDF-документ із буфера пам’яті
LoadDocumentЗавантажити PDF-документ з FileName
LoadDocument(const Data: TBytes; Buffered: Boolean = True)Завантажити PDF-документ з TBytes
LoadCustomDocument(AStream: TStream; AOwnsStream: Boolean = False)Потоково завантажує PDF-документ із будь-якого TStream через FPDF_LoadCustomDocument; PDFium читає блоки на вимогу замість копіювати весь файл у пам’ять. AOwnsStream = True передає життєвий цикл потоку екземпляру TPdf
SaveAs(Stream: TStream; Option: TSaveOption = saNone; PdfVersion: TPdfVersion = pvUnknown): BooleanЗберегти документ у потік. Коли Compressed має значення True, усі потоки стискаються через FlateDecode. Явні цілі pv13pv17 нормалізуються та перевіряються, включно з наявними перевизначеннями каталогу /Version в інкрементальному виводі; несумісні новіші функції PDF спричиняють EPdfError. Збережені файли без наявного OpenAction відкриваються на першій сторінці з масштабом Fit Height, коли цільова версія це підтримує. У пробних збірках під час збереження застосовується пробний водяний знак
SaveAs(const FileName: string; Option: TSaveOption = saNone; PdfVersion: TPdfVersion = pvUnknown): BooleanЗберегти документ у файл. Явні цілі pv13pv17 нормалізуються та перевіряються, включно з наявними перевизначеннями каталогу /Version в інкрементальному виводі; несумісні новіші функції PDF спричиняють EPdfError. Збережені файли без наявного OpenAction відкриваються на першій сторінці з масштабом Fit Height, коли цільова версія це підтримує. У пробних збірках під час збереження застосовується пробний водяний знак
ImportPages(Pdf: TPdf; const Range: string; PageNumber: Integer = 1): BooleanІмпортувати сторінки з іншого PDF-документа. Формат діапазону: '1,3,5-7'
ImportPreferences(Pdf: TPdf): BooleanІмпортувати параметри переглядача з іншого PDF

Операції зі сторінками

МетодОпис
AddPage(PageNumber: Integer; Width, Height: Double)Додати нову сторінку у вказаній позиції з нумерацією від 1 із заданими розмірами (у пунктах, 72 пункти = 1 дюйм). Значення 0 приймається як сумісний псевдонім для вставлення першої сторінки, і вставлена сторінка стає поточною
DeletePage(PageNumber: Integer)Видалити сторінку за вказаним індексом
GetPageBox(Box: TPdfPageBox): TPdfRectangleПрочитати вибране поле словника сторінки з поточної сторінки
RemoveObject(Index: Integer; DestroyObject: Boolean = True)Видалити об’єкт сторінки з поточної сторінки й повторно створити вміст сторінки
ReloadPageПерезавантажити поточну сторінку
SetPageBox(Box: TPdfPageBox; const Rectangle: TPdfRectangle)Встановити вибране поле словника сторінки на поточній сторінці
UpdatePageЗастосувати очікувані зміни до поточної сторінки (викликає FPDFPage_GenerateContent)

Операції з текстом

МетодОпис
Text(StartIndex: Integer = 0; Count: Integer = MaxInt): WStringВитягнути текст із поточної сторінки
TextInRectangle(Left, Top, Right, Bottom: Double): WStringВитягнути текст із прямокутної області (координати сторінки)
TextInRectangle(Rectangle: TPdfRectangle): WStringВитягнути текст із прямокутника
AddText(const Text, Font: WString; FontSize: Single; X, Y: Double; Color: TColor = clBlack; Alpha: Byte = $FF; Angle: Double = 0.0)Додати текст у вказаній позиції зі шрифтом, кольором, прозорістю та кутом обертання
SetText(ObjectIndex: Integer; const Text: WString)Встановити текст для наявного текстового об’єкта (недокументований API PDFium, може спричинити проблеми форматування)
SetTextPositions(ObjectIndex: Integer; const Positions: TPdfSingleArray)Встановити позиції для кожного символу в наявному текстовому об’єкті. Позиції починаються з другого символу й відносні до початку текстового об’єкта
FindFirst(const Text: WString; Options: TSearchOptions = []; StartIndex: Integer = 0; DirectionUp: Boolean = True): IntegerПочати пошук тексту, повертає індекс символу або -1, якщо не знайдено
FindNext: IntegerПродовжити пошук тексту вперед, повертає індекс символу або -1
FindPrevious: IntegerПродовжити пошук тексту назад, повертає індекс символу або -1
CharacterIndexAtPos(X, Y, ToleranceX, ToleranceY: Double): IntegerОтримати індекс символу за позицією сторінки
RectangleCount(StartIndex: Integer = 0; Count: Integer = MaxInt): IntegerОтримати кількість текстових прямокутників для діапазону символів
ReadingUnits: TPdfReadingUnitsПовертає одиниці читання на рівні речення для допоміжного прослуховування та семантичної навігації
DocumentReadingUnits: TPdfReadingUnitsБудує записи TPdfReadingUnit на рівні речення для всього потоку читабельного вмісту документа
PageWordBoxes: TPdfWordBoxesПовертає словесні блоки з діапазонами FTextPage і прямокутниками у просторі сторінки для підсвічування по словах
SetReadingWord(const Word: TPdfWordBox)Підсвічує один TPdfWordBox як поточне вимовлюване слово в TPdfView
ClearReadingWordОчищує поточну накладку курсора читання на рівні слова в TPdfView
TrackReadingWordAt(PageNumber, CharIndex: Integer): IntegerВідображає зсув символу сторінки на відповідний TPdfWordBox, підсвічує його та повертає індекс слова
SelectWordBox(const Word: TPdfWordBox): BooleanВибрати діапазон тексту переглядача, який представляє один TPdfWordBox
SelectWordSpan(const Words: TPdfWordBoxes; StartIndex, EndIndex: Integer): BooleanВибрати фрагмент на одній сторінці з записів TPdfWordBox як одне виділення тексту переглядача
BuildReadingUnits(Fragments)Перетворює TPdfContentFragments у записи TPdfReadingUnit на рівні речення без завантаження pdfium.dll
NextReadingUnitOfKind(Units, CurrentIndex, Kind, GoForward)Знаходить наступний або попередній TPdfReadingUnit, чий Kind відповідає запитаному TPdfContentFragmentKind
BuildWordBoxes(PageText)Розбиває текст сторінки на записи TPdfWordBox із текстом слова та діапазонами символів FTextPage
WordBoxIndexAtCharIndex(Words, CharIndex)Відобразити індекс символу назад у нульовий індекс TPdfWordBox, що його містить
SpokenTextAppend(var Spoken: TPdfSpokenText; const SpokenPart: WString; Page, StartIndex: Integer; SourceCount: Integer = -1)Додає один зіставлений фрагмент озвученого тексту до TPdfSpokenText
BuildSpokenTextFromWords(Words, FirstWord, LastWord)Створити TPdfSpokenText з безперервного діапазону TPdfWordBox
SpokenToPageChar(Spoken, SpokenOffset, Page, CharIndex)Перетворює зсув символу у мовному рушії назад у символ сторінки PDF
EstimateSpokenWordIndex(Words, ElapsedMs, WordsPerMinute)Оцінити індекс вимовлюваного слова, коли рушій мовлення не повідомляє позицію слова

Операції з анотаціями

МетодОпис
CreateAnnotation(const Annotation: TPdfAnnotation)Створити нову анотацію на поточній сторінці
DeleteAnnotation(Index: Integer)Видалити анотацію за індексом

Сплющення форм

МетодОпис
GenerateFormAppearancesПерегенеровує потоки вигляду /AP для кожного віджета форми на кожній сторінці (FPDF_FFLDraw). Викликайте після призначень FormField[] і перед SaveAs / FlattenPage / FlattenAllPages
FlattenPage(nFlag: Integer = FLAT_NORMALDISPLAY): IntegerСплющує анотації та віджети форми на поточній сторінці у статичний вміст. Повертає FLATTEN_SUCCESS, FLATTEN_NOTHINGTODO або FLATTEN_FAIL
FlattenAllPages(nFlag: Integer = FLAT_NORMALDISPLAY): BooleanСплющує кожну сторінку в документі. Повертає True, коли всі сторінки успішні
SetFormFieldFlags(Index: Integer; const Flags: TPdfFormFieldFlags)Встановити прапорці поля AcroForm для поля форми за вказаним індексом анотації на поточній сторінці
SetFormFieldFlagsAt(X, Y: Single; const Flags: TPdfFormFieldFlags)Встановити прапорці поля AcroForm для поля форми за вказаними координатами сторінки

Операції з вкладеннями

МетодОпис
CreateAttachment(const Name: WString): BooleanСтворити нове порожнє вкладення
DeleteAttachment(Index: Integer): BooleanВидалити вкладення за індексом

Операції зі зображеннями

МетодОпис
AddJpegImage(JpegImage: TStream; X, Y, Width, Height: Double): BooleanДодати JPEG-зображення з потоку у вказаній позиції та розмірі
AddPicture(Picture: TPicture; X, Y: Double)Додати зображення у позиції (початковий розмір)
AddPicture(Picture: TPicture; X, Y, Width, Height: Double)Додати зображення у позиції з указаним розміром
AddImage(const FileName: string; X, Y, Width, Height: Double)Пряме вставлення файла зображення (делегується AddPicture через тимчасовий TPicture); приймає будь-який формат зображення, зареєстрований у графічних модулях VCL або LCL
AddImage(Bitmap: TBitmap; X, Y, Width, Height: Double)Вставити TBitmap pf32bit безпосередньо без проміжного TPicture; піднімає EPdfError для nil bitmap

Операції малювання

МетодОпис
CreatePath(X, Y: Single; FillMode; FillColor; FillAlpha; Stroke; StrokeColor; StrokeAlpha; StrokeWidth; LineCap; LineJoin; BlendMode)Створити шлях, що починається в позиції (X, Y)
CreatePath(X, Y, Width, Height: Single; ...)Створити прямокутний шлях із заданими межами
MoveTo(X, Y: Single)Перемістити поточну точку до (X, Y)
LineTo(X, Y: Single)Намалювати лінію з поточної точки до (X, Y)
BezierTo(X1, Y1, X2, Y2, X3, Y3: Single)Намалювати криву Безьє з двома контрольними точками та кінцевою точкою
ClosePathЗакрити поточний підшлях
AddPathДодати завершений шлях до поточної сторінки

Відтворення

МетодОпис
RenderPage(DeviceContext: HDC; Left, Top, Width, Height: Integer; Rotation; Options)Відтворити сторінку в контексті пристрою (HDC)
RenderPage(Left, Top, Width, Height: Integer; Rotation; Options; Color): TBitmapВідтворити сторінку в новому растровому зображенні
RenderPage(Bitmap: TBitmap; Left, Top, Width, Height: Integer; Rotation; Options; Color)Відтворити сторінку в наявному растровому зображенні
RenderPageThumbnail(PageIndex, MaxWidth, MaxHeight: Integer): TBitmapВідтворити будь-яку сторінку з нумерацією від 1 у мініатюрне растрове зображення, що належить викликачеві, без зміни PageNumber і без сповіщень про зміну сторінки
RenderTile(Left, Top, Width, Height, PageWidth, PageHeight: Integer; ...): TBitmapВідтворити фрагмент сторінки в новому растровому зображенні
RenderTile(Bitmap: TBitmap; Left, Top, Width, Height, PageWidth, PageHeight: Integer; ...)Відтворити фрагмент у наявному растровому зображенні
InvertPdfBitmap(Bitmap)Інвертує канали RGB у відтвореному 32-бітному TBitmap на місці для перегляду в темному режимі або з високою контрастністю
GrayscalePdfBitmap(Bitmap)Перетворює відтворений 32-бітний TBitmap у яскравісну градацію сірого на місці
DuotonePdfBitmap(Bitmap, DarkColor, LightColor)Відображає яскравість відтвореного растрового зображення на вибрані викликачем темний і світлий кольори на місці

Coordinate Conversion

МетодОпис
DeviceToPage(X, Y, Left, Top, Width, Height: Integer; Rotation: TRotation; out PageX, PageY: Double): BooleanПеретворити координати пристрою в координати сторінки
PageToDevice(PageX, PageY: Double; Left, Top, Width, Height: Integer; Rotation: TRotation; out X, Y: Integer): BooleanПеретворити координати сторінки в координати пристрою

Властивості компонента TPdf

Опубліковані властивості (режим проєктування)

ВластивістьТипОпис
AboutstringВідомості про версію компонента (зберігається False)
ActiveBooleanУстановіть True, щоб завантажити/активувати документ, False, щоб закрити його
FileNamestringШлях до PDF-файла для завантаження
FormFillBooleanУвімкнути інтерактивне заповнення форм із підтримкою JavaScript (типово True)
PageNumberIntegerПоточний номер сторінки (нумерація від 1, 0 коли документ не завантажено)
PasswordstringПароль для відкриття зашифрованих PDF-документів

Document Properties

ВластивістьТипR/WОпис
AuthorWStringRАвтор документа
CompressedBooleanR/WКоли True (типово), SaveAs постобробляє вивід, щоб усі потоки були стиснені FlateDecode
CreationDateWStringRМетадані дати створення документа
CreatorWStringRЗастосунок, що створив документ
DocumentFPDF_DOCUMENTRНизькорівневий дескриптор документа PDFium
FileIdentifier[IDType: TPdfFileIdentifierType]TBytesRПостійні або змінні байти ідентифікатора файла trailer без завершаючого байта PDFium
FormTypeTPdfFormTypeRТип форми: ftNone, ftAcroForm, ftXFAFull, ftXFAForeground
IsTaggedBooleanRTrue, якщо документ є Tagged PDF
JavaScriptAction[Index]TPdfJavaScriptActionRДія дерева імен JavaScript на рівні документа за індексом з нумерацією від 0
JavaScriptActionCountIntegerRКількість дій дерева імен JavaScript на рівні документа
JavaScriptActionsTPdfJavaScriptActionsRУсі дії дерева імен JavaScript на рівні документа
KeywordsWStringRКлючові слова документа
LanguageWStringR/WМова каталогу документа (/Lang)
StructureElementsTPdfStructureElementsRСплющені елементи логічної структури для поточної сторінки
MetaText[const Tag: string]WStringRДовільне значення метаданих за назвою тегу
ModifiedDateWStringRМетадані дати останньої зміни
PageCountIntegerRЗагальна кількість сторінок
PdfVersionTPdfVersionRФактична версія PDF, включно з дійсним перевизначенням каталогу /Version, коли воно є
PermissionsLongWordRПрапорці дозволів документа
PrintCopiesIntegerRКількість зазначених копій для друку
PrintPageRangesTPdfPrintPageRangesRДіапазони сторінок для друку з нумерацією від 1 із параметрів переглядача
PrintPaperHandlingTPrintPaperHandlingRПеревага обробки паперу
PrintScalingBooleanRЧи ввімкнено масштабування під час друку
ProducerWStringRЗастосунок-виробник PDF
SubjectWStringRТема документа
TitleWStringRНазва документа
UserPermissionsLongWordRДозволи на рівні користувача
ViewerPreference[const Key: string]WStringRЗначення параметра переглядача за ключем
XFABooleanRTrue, якщо документ містить форми XFA

Page Properties

ВластивістьТипR/WОпис
PageFPDF_PAGERНизькорівневий дескриптор сторінки PDFium
PageBoundsTPdfRectangleRОбмежувальний прямокутник поточної сторінки
PageBox[Box: TPdfPageBox]TPdfRectangleR/WMediaBox, CropBox, BleedBox, TrimBox або ArtBox для поточної сторінки
PageHeightDoubleRВисота поточної сторінки в пунктах
PageLabel[PageNumber: Integer]WStringRМітка сторінки для заданого номера сторінки
PageModeTPageModeRЯк документ слід відображати під час відкриття
PageRotationTRotationR/WПоворот поточної сторінки (ro0, ro90, ro180, ro270)
PageWidthDoubleRШирина поточної сторінки в пунктах
ThumbnailTBitmapRЕскіз-растрове зображення поточної сторінки
TransparentBooleanRTrue, якщо поточна сторінка містить прозорий вміст

Текст і властивості символів

ВластивістьТипОпис
Character[Index]WideCharСимвол Unicode за індексом
CharacterAngle[Index]SingleКут повороту символу в радіанах
CharacterCountIntegerКількість символів на поточній сторінці
CharacterFontSize[Index]DoubleРозмір шрифту символу за індексом; FontSize[Index] лишається сумісним псевдонімом
CharacterFontWeight[Index]IntegerНасиченість шрифту символу за індексом
CharacterGenerated[Index]BooleanTrue, якщо символ було згенеровано, а не взято з оригінального вмісту
CharacterIsHyphen[Index]BooleanTrue, якщо символ є дефісом
CharacterMapError[Index]BooleanTrue, якщо символ має помилку зіставлення
CharacterOrigin[Index]TPdfPointПочаткова точка символу
CharacterRectangle[Index]TPdfRectangleОбмежувальний прямокутник символу
Charcode[Index]WideCharКод символу за індексом
FindFPDF_SCHHANDLEНизькорівневий дескриптор пошуку PDFium
Rectangle[Index]TPdfRectangleПрямокутник тексту з останнього виклику RectangleCount
TextPageFPDF_TEXTPAGEНизькорівневий дескриптор текстової сторінки PDFium

Font Properties

ВластивістьТипОпис
FontAscent[Index; FontSize]SingleПіднесення шрифту, який використовує текстовий об’єкт за індексом
FontBaseName[Index]WStringБазова назва шрифту текстового об’єкта за індексом
FontData[Index]TBytesСирі дані шрифту текстового об’єкта за індексом
FontDescent[Index; FontSize]SingleСпуск шрифту, який використовує текстовий об’єкт за індексом
FontFamilyName[Index]WStringНазва сімейства шрифтів для текстового об’єкта за індексом
FontHandle[Index]FPDF_FONTНизькорівневий дескриптор шрифту PDFium для текстового об’єкта за індексом
FontIsEmbedded[Index]BooleanTrue, якщо шрифт текстового об’єкта вбудовано в PDF
FontItalicAngle[Index]IntegerКут нахилу шрифту текстового об’єкта
FontSize[Index]DoubleЗворотно сумісний псевдонім для CharacterFontSize[Index]
FontWeight[Index]IntegerНасиченість шрифту текстового об’єкта (наприклад, 400 = normal, 700 = bold)

Object Properties

ВластивістьТипОпис
ObjectCountIntegerКількість об’єктів сторінки
ObjectType[Index]TObjectTypeТип: otUnknown, otText, otPath, otImage, otShading, otForm
ObjectBounds[Index]TPdfRectangleОбмежувальний прямокутник об’єкта
ObjectBitmap[Index]TBitmapРастрове представлення об’єкта
ObjectHandle[Index]PointerНизькорівневий дескриптор об’єкта
ObjectTransparent[Index]BooleanTrue, якщо об’єкт прозорий

Властивості зображення

ВластивістьТипОпис
Bitmap[Index]TBitmapРастр об’єкта сторінки за індексом
BitmapCountIntegerКількість растрових об’єктів на сторінці
Image[Index]TPdfImageДані зображення (Width, Height, Data) за індексом
ImageCountIntegerКількість зображень на сторінці

Властивості анотації

ВластивістьТипR/WОпис
Annotation[Index]TPdfAnnotationR/WОтримати або встановити анотацію за індексом
AnnotationCountIntegerRКількість анотацій на поточній сторінці

Властивості форми

ВластивістьТипR/WОпис
FormField[Index]WStringR/WЗначення поля форми за індексом
FormFieldAt[X, Y: Single]WStringR/WЗначення поля форми в позиції сторінки
FormFieldCountIntegerRКількість полів форми на поточній сторінці
FormFieldInfo[Index]TPdfFormFieldInfoRВідомості про поле форми за індексом
FormFieldInfoAt[X, Y: Single]TPdfFormFieldInfoRВідомості про поле форми в позиції сторінки
FocusedFormFieldValue()WStringRПовертає поточне логічне значення поля форми через FocusedFormFieldIndex без залежності від інтерактивного курсора
FocusedFormFieldName()WStringRПовертає поточну логічну назву відображення поля форми, надаючи перевагу AlternateName і переходячи до Name
FocusedFormFieldDetails()TPdfFormFieldInfoRПовертає TPdfFormFieldInfo для поточного логічного поля форми
FormHandleFPDF_FORMHANDLERНизькорівневий дескриптор заповнення форм
HasFormFieldAt[X, Y: Single]BooleanRTrue, якщо в цій позиції існує поле форми

Властивості вкладення

ВластивістьТипR/WОпис
Attachment[Index]TBytesR/WДані вкладення за індексом
AttachmentCountIntegerRКількість вкладень
AttachmentName[Index]WStringRІм’я файла вкладення за індексом
AttachmentType[Index]WStringRMIME-підтип вкладення за індексом

Властивості навігації

ВластивістьТипОпис
Bookmark[const Title: WString]TBookmarkЗнайти закладку за назвою
BookmarkChildren[const Bookmark: TBookmark]TBookmarksДочірні закладки для закладки
BookmarkFrom[Handle: FPDF_BOOKMARK]TBookmarkДані закладки з дескриптора
BookmarksTBookmarksМасив закладок верхнього рівня
Destination[Index]TDestinationІменоване призначення за індексом
DestinationByName[const Name: WString]TDestinationІменоване призначення за назвою
DestinationCountIntegerКількість іменованих призначень
HasBookmarkChildren[const Bookmark: TBookmark]BooleanTrue, якщо закладка має нащадків
LinkAnnotation[PageNumber, Index]TLinkAnnotationАнотація посилання на заданій сторінці
LinkAnnotationCount[PageNumber]IntegerКількість анотацій посилань на сторінці
WebLink[PageNumber, Index]TWebLinkВеб-посилання (URL) на заданій сторінці
WebLinkCount[PageNumber]IntegerКількість веб-посилань на сторінці

Digital Signature Properties

ВластивістьТипОпис
Signature[Index]TPdfSignatureВідомості про цифровий підпис за індексом
SignatureCountIntegerКількість цифрових підписів у документі

Події TPdf

ПодіяТипОпис
OnFormFieldEnterTPdfFormFieldEnterEventСпрацьовує, коли поле форми отримує фокус. Параметри: Sender: TObject; const Text: WString
OnFormFieldExitTNotifyEventСпрацьовує, коли фокус залишає поле форми
OnPageChangeTNotifyEventСпрацьовує, коли змінюється поточна сторінка
OnUnsupportedFeatureTPdfUnsupportedFeatureEventСпрацьовує, коли PDF містить непідтримувану функцію

Інші публічні методи та властивості

APIОпис
span class="keyword">property About: stringПоказує відомості про версію компонента PDFiumPas для TPdf
ActiveВідкриває або закриває вибраний PDF-документ
span class="keyword">procedure AddImage(const FileName: string; X, Y, Width, Height: Double)Вставляє зображення з файлу на поточну сторінку PDF. Усередині використовується TPicture.LoadFromFile, тому приймається будь-який формат зображення, зареєстрований у графічних модулях VCL або LCL (BMP, PNG через Vcl.Imaging.PngImage / LCL TPortableNetworkGraphic, JPG тощо). Координати задаються в просторі користувача PDF (початок у лівому нижньому куті сторінки); Width і Height — це розмір розміщення в одиницях користувача, а не розмір джерельного зображення в пікселях
span class="keyword">function AddJpegImage(JpegImage: TStream; X, Y, Width, Height: Double): BooleanДодає JPEG-зображення на поточну сторінку PDF за вказаними координатами
span class="keyword">procedure AddPage(PageNumber: Integer; Width, Height: Double)Створює нову порожню сторінку з указаними розмірами в пунктах
AddPathПідтверджує накопичений шлях MoveTo/LineTo/BezierTo як новий об’єкт сторінки з указаним заповненням
span class="keyword">procedure AddPicture(Picture: TPicture; X, Y: Double)Додає зображення на поточну сторінку PDF за вказаними координатами
span class="keyword">procedure AddText(const Text, Font: WString; FontSize: Single; X, Y: Double; Color: TColor = clBlack; Alpha: Byte = $FF; Angle: Double = 0.0)Додає текст на поточну сторінку PDF у вказаній позиції
AnnotationІндексована властивість — повертає запис анотації за вказаним індексом на поточній сторінці (підтип, прямокутник, колір, вміст тощо)
AnnotationCountКількість об’єктів анотацій, приєднаних до поточної активної сторінки
span class="keyword">property Attachment[Index: Integer]: TBytesЧитає або замінює сире байтове навантаження вбудованого файла рівня документа за вказаним нульовим індексом. Кожен слот відповідає одному запису в дереві імен PDF EmbeddedFiles, визначеному в розділі 7.11 специфікації PDF 1.7
AttachmentCountКількість вбудованих вкладень файлів, оголошених у документі
AttachmentNameПовертає Unicode-ім’я файлу, зареєстроване для вбудованого файла за вказаним нульовим індексом у дереві імен EmbeddedFiles документа
AttachmentTypeПовертає зареєстрований рядок MIME / subtype для вбудованого файла за вказаним нульовим індексом. Значення береться із запису /Subtype словника специфікації файла, як визначено в розділі 7.11.3 PDF
AuthorПовертає значення запису /Author з словника інформації PDF-документа
BezierToДодає кубічну криву Безьє від поточної точки через контрольні точки (X1,Y1) і (X2,Y2) до (X3,Y3)
BitmapПовертає щойно декодований VCL TBitmap, що містить растрові дані вказаного об’єкта зображення на поточній сторінці. Бітмап виділяється заново під час кожного виклику; ним володіє викликаючий код, і саме він має викликати Free
BitmapCountКількість об’єктів зображень на активній сторінці, доступних як VCL TBitmap
BookmarkШукає закладку за рядком її заголовка і повертає відповідний запис TBookmark з дерева структури документа, визначеного в розділі 12.3.3 PDF
BookmarkChildrenІндексована властивість — повертає безпосередні дочірні закладки вказаного вузла-батька
BookmarkFromПеретворює сирий дескриптор FPDF_BOOKMARK на повністю заповнений запис TBookmark, зчитуючи заголовок, сторінку призначення та метадані дії для цього вузла схеми
BookmarksIndexована властивість, що повертає повний список записів верхнього рівня структури документа
CharacterІндексований доступ лише для читання до рядкового представлення символу UTF-16 за вказаним індексом, зазвичай одна code unit, але дві для сурогатної пари
CharacterAngleІндексований доступ лише для читання до кута повороту символу в радіанах з урахуванням CTM сторінки
CharacterCountКількість символів, які можна витягти на поточній активній сторінці
CharacterFontSizeІндексований доступ лише для читання до ефективного розміру шрифту, який використано для відтворення символу, у PDF points після масштабування CTM
CharacterFontWeightІндексований доступ лише для читання до значення OS/2 usWeightClass шрифту, який використано (100 = Thin, 400 = Regular, 700 = Bold, 900 = Black)
CharacterGeneratedПовертає True, коли символ за вказаним індексом було синтезовано PDFium під час витягання тексту, а не промальовано явно потоком вмісту сторінки. Синтетичні символи створюються для розгортання лігатур, soft hyphenation та евристик меж слів і рядків, щоб результати пошуку та Select All читалися природно
span class="keyword">function CharacterIndexAtPos(X, Y, ToleranceX, ToleranceY: Double): IntegerПовертає індекс символу в певній позиції на сторінці або поблизу неї. Якщо в цій точці або поруч немає символу, повернеться -1. Якщо стається помилка, повертається -3
CharacterIsHyphenПовертає True, коли символ за вказаним індексом розпізнано як soft hyphen, який використовується для перенесення слів наприкінці рядка. Корисно під час відновлення слів через перенесення без збереження видимого дефіса
CharacterMapErrorПовертає True, коли символ за вказаним індексом не вдалося зіставити з коректним Unicode code point. Прапорець повідомляється для кожного символу текстовим екстрактором PDFium і дає змогу викликачам визначати code points, які, ймовірно, є некоректними через те, що вихідний шрифт не має придатного ToUnicode CMap або encoding vector
CharacterOriginІндексований доступ лише для читання до початку символу, тобто baseline-left anchor, у PDF user-space points
CharacterRectangleІндексований доступ лише для читання до bounding rectangle символу в PDF user-space coordinates, з початком у нижньому лівому куті, у points
CharcodeІндексований доступ лише для читання до Unicode code point, тобто UCS-4, символу за вказаним індексом
span class="keyword">procedure ClearFormFieldFocusПрацює з логічним курсором фокуса AcroForm на поточній сторінці для клавіатурних, мовних і accessibility workflows
ClosePathЗакриває поточний sub-path, проводячи пряму лінію назад до найостаннішого MoveTo
CompressedКерує тим, чи стискаються потоки у вихідному PDF через FlateDecode, коли викликається SaveAs / Save. Післязбережувальний механізм стиснення сканує серіалізований PDF, замінює будь-які нестиснуті потоки їхніми zlib-deflated еквівалентами та перебудовує xref table. Уже стиснуті потоки проходять без змін
constructor Create(AOwner: TComponent); overrideСтворює компонент TPdf і ініціалізує стан документа, відтворення, форм і кешу
span class="keyword">procedure CreateAnnotation(const Annotation: TPdfAnnotation)Створює нову анотацію
CreateAttachmentAdds a new embedded file (attachment) at the document level.
span class="keyword">procedure CreateDocumentЗакриває поточний документ, якщо він є, і починає новий порожній PDF
span class="keyword">procedure CreatePath(X, Y: Single; FillMode: TPdfFillMode = fmNone; FillColor: TColor = clBlack; FillAlpha: Byte = $FF; Stroke: Boolean = True; StrokeColor: TColor = clBlack; StrokeAlpha: Byte = $FF; StrokeWidth: Single = 1.0; LineCap: TPdfLineCap = lcDefault; LineJoin: TPdfLineJoin = ljDefault; BlendMode: TPdfBlendMode = bmDefault)Створює новий об'єкт шляху у початковій позиції
CreateXObjectFromPageОгортає сторінку з іншого TPdf як повторно використовуваний дескриптор Form XObject, який можна штампувати в цей документ будь-яку кількість разів
CreationDateПочатковий часовий штамп створення з документа Info dictionary
CreatorПовертає назву початкової програми, що створила документ і записана в словнику Info
DeleteAnnotationВидаляє анотацію з указаним індексом на поточній сторінці
span class="keyword">function DeleteAttachment(Index: Integer): BooleanВидаляє вкладений файл із заданим індексом
span class="keyword">procedure DeletePage(PageNumber: Integer)Видаляє сторінку PageIndex з документа
DestinationПовертає запис TDestination для іменованого призначення за нульовим індексом
DestinationByNameШукає призначення /Names за рядковим ім'ям і повертає цільову сторінку, тип переходу та координати
DestinationCountКількість іменованих призначень, оголошених у документі
destructor Destroy; overrideReleases document handles, form state, cached fonts, streams, and timers before TPdf is destroyed
span class="keyword">function DeviceToPage(X, Y, Left, Top, Width, Height: Integer; Rotation: TRotation; out PageX, PageY: Double): BooleanПеретворює координати точки з простору пристрою у координати сторінки PDF
span class="keyword">property DocumentНативний дескриптор PDFium FPDF_DOCUMENT для прямого низькорівневого доступу
span class="keyword">function DocumentReadableContent: TPdfContentFragmentsПовертає семантичні фрагменти читабельного вмісту для читачів екрана, озвучення та доступності
function DocumentReadingUnits: TPdfReadingUnitsБудує записи TPdfReadingUnit на рівні речення для всього потоку читабельного вмісту документа
FileIdentifierПовертає масив ідентифікаторів файлу документа для запитаного слота
span class="keyword">property FileNameШлях до PDF, який потрібно відкрити; присвоєння під час Active перезавантажує документ
FindШукає Pattern від PageNum або поточної сторінки та повертає глобальний індекс першого збігу
span class="keyword">function FindFirst(const Text: WString; Options: TSearchOptions = []; StartIndex: Integer = 0; DirectionUp: Boolean = True): IntegerПочинає пошук заданого тексту на поточній сторінці
span class="keyword">function FindNextПереміщує курсор активного пошуку до наступного збігу
span class="keyword">function FindPreviousПереміщує курсор пошуку на попередній збіг
span class="keyword">function FlattenAllPages(nFlag: Integer = FLAT_NORMALDISPLAY): BooleanЗручна обгортка, що сплощує всі сторінки документа
span class="keyword">function FlattenPage(nFlag: Integer = FLAT_NORMALDISPLAY): IntegerСплощує анотації та поля форм на поточній сторінці
span class="keyword">function FocusFormField(Index: Integer): BooleanВстановлює логічний фокус на поле форми поточної сторінки
span class="keyword">function FocusNextFormField: IntegerПереміщує фокус на наступне поле форми в порядку обходу
span class="keyword">function FocusPreviousFormField: IntegerПереміщує фокус на попереднє поле форми в порядку обходу
function FocusedFormFieldDetails: TPdfFormFieldInfoПовертає TPdfFormFieldInfo для поточного логічного поля форми
span class="keyword">function FocusedFormFieldIndex: IntegerПовертає індекс поточного сфокусованого поля форми
function FocusedFormFieldName: WStringПовертає поточну логічну назву відображення поля форми, надаючи перевагу AlternateName і переходячи до Name
span class="keyword">function FocusedFormFieldText: WStringПовертає або задає текст сфокусованого поля форми
function FocusedFormFieldValue: WStringПовертає поточне логічне значення поля форми через FocusedFormFieldIndex без залежності від інтерактивного курсора
FontAscentПовертає підйом шрифту, використаного символом або текстовим об'єктом
FontBaseNameReturns the PostScript base name (the /BaseFont запису зі словника шрифту PDF) шрифту, який використовується об’єктом сторінки, включно з будь-яким суфіксом стилю, таким як -Bold or ,Italic.
FontDataПовертає вбудовані байти шрифту для текстового об'єкта, якщо вони доступні
FontDescentПовертає descent шрифту (відстань від базової лінії до найнижчого елемента спуску) шрифту об’єкта сторінки, виражений у пунктах PDF і масштабований до вказаного викликом розміру шрифту
FontFamilyNameПовертає типографічну назву родини шрифту для текстового об'єкта
FontHandleПовертає нативний дескриптор FPDF_FONT для шрифту текстового об'єкта
FontIsEmbeddedПоказує, чи шрифт текстового об'єкта вбудований у PDF
FontItalicAngleПовертає кут нахилу шрифту в градусах
FontSizeПовертає відтворений розмір шрифту окремого символу в пунктах PDF
FontWeightПовертає вагу шрифту в стилі CSS (жирність), який використовується об’єктом сторінки на поточній сторінці. Типові значення: 400 для звичайного та 700 для жирного
FormFieldІндексована властивість, що повертає одне поле форми на поточній сторінці
FormFieldAtЧитає або записує значення поля форми у заданій координаті сторінки
FormFieldCountКількість віджетів полів форми на активній сторінці
FormFieldInfoПовний запис з описом поля форми за індексом активної сторінки
FormFieldInfoAtЗапис поля форми для віджета у заданій координаті сторінки
span class="keyword">function FormFieldTabOrder: TPdfIntegerArrayПовертає порядок обходу полів AcroForm на поточній сторінці
span class="keyword">property FormFillІнтерфейс для callback-ів, пов'язаних із формами
FormHandleНативний дескриптор середовища заповнення форм PDFium для документа
span class="keyword">property FormTypeПовідомляє, чи документ містить AcroForm, XFA або не містить форм
span class="keyword">procedure GenerateFormAppearancesПовторно створює appearance stream для кожного віджета форми на всіх сторінках
span class="keyword">function GetPageBoxОписує метод TPdf.GetPageBox у PDFiumPas і пояснює, коли використовувати цей член API
HasBookmarkChildrenОписує властивість TPdf.HasBookmarkChildren у PDFiumPas і пояснює, коли використовувати цей член API
HasFormFieldAtОписує властивість TPdf.HasFormFieldAt у PDFiumPas і пояснює, коли використовувати цей член API
ImageОписує властивість TPdf.Image у PDFiumPas і пояснює, коли використовувати цей член API
ImageCountОписує властивість TPdf.ImageCount у PDFiumPas і пояснює, коли використовувати цей член API
ImportNPagesToOneОписує метод TPdf.ImportNPagesToOne у PDFiumPas і пояснює, коли використовувати цей член API
ImportPagesОписує метод TPdf.ImportPages у PDFiumPas і пояснює, коли використовувати цей член API
ImportPagesByIndexОписує метод TPdf.ImportPagesByIndex у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">function ImportPreferences(Pdf: TPdf): BooleanОписує функцію TPdf.ImportPreferences у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">function InsertFormObjectFromXObject(XObject: TPdfXObject): FPDF_PAGEOBJECTОписує метод TPdf.InsertFormObjectFromXObject у PDFiumPas і пояснює, коли використовувати цей член API
IsTaggedОписує властивість TPdf.IsTagged у PDFiumPas і пояснює, коли використовувати цей член API
JavaScriptActionІндексована властивість — повертає одну дію JavaScript рівня документа (ім'я + Тип + рядок Source)
JavaScriptActionCountОписує властивість TPdf.JavaScriptActionCount у PDFiumPas і пояснює, коли використовувати цей член API
JavaScriptActionsОписує властивість TPdf.JavaScriptActions у PDFiumPas і пояснює, коли використовувати цей член API
KeywordsОписує властивість TPdf.Keywords у PDFiumPas і пояснює, коли використовувати цей член API
LanguageОписує властивість TPdf.Language у PDFiumPas і пояснює, коли використовувати цей член API
LineToОписує метод TPdf.LineTo у PDFiumPas і пояснює, коли використовувати цей член API
LinkAnnotationОписує властивість TPdf.LinkAnnotation у PDFiumPas і пояснює, коли використовувати цей член API
LinkAnnotationCountОписує властивість TPdf.LinkAnnotationCount у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">procedure LoadCustomDocument(AStream: TStream; AOwnsStream: Boolean = False)Описує метод TPdf.LoadCustomDocument у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">procedure LoadDocumentВідкриває та завантажує PDF-документ із FileName
span class="keyword">property MetaTextОписує властивість TPdf.MetaText у PDFiumPas і пояснює, коли використовувати цей член API
ModifiedDateОписує властивість TPdf.ModifiedDate у PDFiumPas і пояснює, коли використовувати цей член API
MovePagesПеревпорядковує сторінки цього документа на місці за нульовим індексом, зберігаючи незмінною кількість сторінок
MoveToОписує метод TPdf.MoveTo у PDFiumPas і пояснює, коли використовувати цей член API
ObjectBitmapОписує властивість TPdf.ObjectBitmap у PDFiumPas і пояснює, коли використовувати цей член API
ObjectBoundsОписує властивість TPdf.ObjectBounds у PDFiumPas і пояснює, коли використовувати цей член API
ObjectCountЛише для читання: кількість об’єктів сторінки (текст, шлях, зображення, shading, form) на поточній сторінці
ObjectHandleОписує властивість TPdf.ObjectHandle у PDFiumPas і пояснює, коли використовувати цей член API
ObjectTransparentОписує властивість TPdf.ObjectTransparent у PDFiumPas і пояснює, коли використовувати цей член API
ObjectTypeОписує властивість TPdf.ObjectType у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">property OnFormFieldEnterОписує властивість TPdf.OnFormFieldEnter у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">property OnFormFieldExitОписує властивість TPdf.OnFormFieldExit у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">property OnPageChangeОписує властивість TPdf.OnPageChange у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">property OnUnsupportedFeatureОписує властивість TPdf.OnUnsupportedFeature у PDFiumPas і пояснює, коли використовувати цей член API
PageОписує властивість TPdf.Page у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">property PageBounds[Box: TPdfPageBox]: TPdfRectangleОписує властивість TPdf.PageBounds у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">property PageBox[Box: TPdfPageBox]: TPdfRectangleОписує властивість TPdf.PageBox у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">property PageCount: IntegerОписує властивість TPdf.PageCount у PDFiumPas і пояснює, коли використовувати цей член API
PageHeightОписує властивість TPdf.PageHeight у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">property PageLabel: WStringОписує властивість TPdf.PageLabel у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">property PageMode: TPageModeОписує властивість TPdf.PageMode у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">property PageNumber: IntegerОписує властивість TPdf.PageNumber у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">property PageRotation: TRotationОписує властивість TPdf.PageRotation у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">function PageToDevice(PageX, PageY: Double; Left, Top, Width, Height: Integer; Rotation: TRotation; out X, Y: Integer): BooleanОписує метод TPdf.PageToDevice у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">property PageWidth: DoubleОписує властивість TPdf.PageWidth у PDFiumPas і пояснює, коли використовувати цей член API
function PageWordBoxes: TPdfWordBoxesПовертає записи TPdfWordBox для слів на поточній сторінці TPdf із діапазонами символів і прямокутниками в координатах сторінки
span class="keyword">property PasswordОписує властивість TPdf.Password у PDFiumPas і пояснює, коли використовувати цей член API
PdfAConformanceОписує властивість TPdf.PdfAConformance у PDFiumPas і пояснює, коли використовувати цей член API
PdfEConformanceОписує властивість TPdf.PdfEConformance у PDFiumPas і пояснює, коли використовувати цей член API
PdfRConformanceОписує властивість TPdf.PdfRConformance у PDFiumPas і пояснює, коли використовувати цей член API
PdfUaConformanceОписує властивість TPdf.PdfUaConformance у PDFiumPas і пояснює, коли використовувати цей член API
PdfVTConformanceОписує властивість TPdf.PdfVTConformance у PDFiumPas і пояснює, коли використовувати цей член API
PdfVersionОписує властивість TPdf.PdfVersion у PDFiumPas і пояснює, коли використовувати цей член API
PdfXConformanceРівень відповідності PDF/X відкритого документа лише для читання, без потреби явно викликати ValidatePdfX.
span class="keyword">property PermissionsОписує властивість TPdf.Permissions у PDFiumPas і пояснює, коли використовувати цей член API
PrintCopiesОписує властивість TPdf.PrintCopies у PDFiumPas і пояснює, коли використовувати цей член API
PrintPageRangesОписує властивість TPdf.PrintPageRanges у PDFiumPas і пояснює, коли використовувати цей член API
PrintPaperHandlingОписує властивість TPdf.PrintPaperHandling у PDFiumPas і пояснює, коли використовувати цей член API
PrintScalingDecoded value of the document's /ViewerPreferences /PrintScaling
ProducerОписує властивість TPdf.Producer у PDFiumPas і пояснює, коли використовувати цей член API
ReadableContentОписує властивість TPdf.ReadableContent у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">function ReadablePageContent(PageNumber: Integer): TPdfReadableContentОписує метод TPdf.ReadablePageContent у PDFiumPas і пояснює, коли використовувати цей член API
function ReadingUnits: TPdfReadingUnitsОписує метод TPdf.ReadingUnits у PDFiumPas і пояснює, коли використовувати цей член API
RectangleОписує властивість TPdf.Rectangle у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">function RectangleCount(StartIndex: Integer = 0; Count: Integer = MaxInt): IntegerПідраховує кількість прямокутних областей, зайнятих сегментом тексту. Функція automatically merges small character boxes into bigger one if those characters are on the same line and use same font settings.
span class="keyword">procedure ReloadPageОписує метод TPdf.ReloadPage у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">procedure RemoveObject(Index: Integer; DestroyObject: Boolean = True)Описує метод TPdf.RemoveObject у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">procedure RenderPage(DeviceContext: HDC; Left, Top, Width, Height: Integer; Rotation: TRotation = ro0; Options: TRenderOptions = [])Описує метод TPdf.RenderPage у PDFiumPas і пояснює, коли використовувати цей член API
RenderPageProgressiveОписує метод TPdf.RenderPageProgressive у PDFiumPas і пояснює, коли використовувати цей член API
function RenderPageThumbnail(PageIndex, MaxWidth, MaxHeight: Integer): TBitmapОписує метод TPdf.RenderPageThumbnail у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">function RenderTile(Left, Top, Width, Height, PageWidth, PageHeight: Integer; Rotation: TRotation = ro0; Options: TRenderOptions = []; Color: TColor = clWhite): TBitmapОписує метод TPdf.RenderTile у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">function SaveAs(Stream: TStream; Option: TSaveOption = saNone; PdfVersion: TPdfVersion = pvUnknown): BooleanSaves the copy of PDF document to the specified stream. If PdfVersion is pv13 through pv17, the saved output is normalized and validated for that target version, including existing catalog /Version overrides in incremental output. The validator covers the full PDF 1.1–1.7 / ISO 32000-1 feature timeline: filters (FlateDecode, JBIG2Decode, JPXDecode), object & xref streams, transparency (SMask, ca/CA, blend modes), Tagged PDF (StructTreeRoot, MarkInfo), color spaces (ICCBased, DeviceN), page boxes (BleedBox/TrimBox/ArtBox), output intents, optional content, AcroForm, CID/Тип 0 and OpenТип fonts, AES & AES-256 encryption (CFM AESV2/AESV3), all version-restricted annotation subtypes (Widget, Sound, Movie, FreeText, Line, Square, Circle, Highlight, Underline, StrikeOut, Stamp, Ink, Popup, FileAttachment, TrapNet, Squiggly, PrinterMark, Polygon, PolyLine, Caret, Screen, Watermark, 3D, Redact), version-restricted action types (SubmitForm, ResetForm, ImportData, Hide, Named, JavaScript, Trans, SetState, Rendition, GoToE, GoTo3DView), and catalog entries (Perms, Legal, Collection, Requirements, NeedsRendering). Anything that exceeds the chosen target version raises EPdfError. If the document has no existing OpenAction and the target version supports it, the saved PDF opens on the first page with Fit Height zoom. Trial builds apply the trial watermark during save.
SaveAsPdfAОписує метод TPdf.SaveAsPdfA у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">function SaveAsPdfAToStream(Stream: TStream; const Options: TPdfASaveOptions): BooleanПам'ятковий варіант — записує вихід у будь-який TStream без проміжного запису на диск
SaveAsPdfEОписує метод TPdf.SaveAsPdfE у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">function SaveAsPdfEToStream(Stream: TStream; const Options: TPdfESaveOptions): BooleanПам'ятковий варіант — записує вихід у будь-який TStream без проміжного запису на диск
SaveAsPdfRОписує метод TPdf.SaveAsPdfR у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">function SaveAsPdfRToStream(Stream: TStream; const Options: TPdfRSaveOptions): BooleanПам'ятковий варіант — записує вихід у будь-який TStream без проміжного запису на диск
SaveAsPdfUaОписує метод TPdf.SaveAsPdfUa у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">function SaveAsPdfUaToStream(Stream: TStream; const Options: TPdfUaSaveOptions): BooleanПам'ятковий варіант — записує вихід у будь-який TStream без проміжного запису на диск
SaveAsPdfVTОписує метод TPdf.SaveAsPdfVT у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">function SaveAsPdfVTToStream(Stream: TStream; const Options: TPdfVTSaveOptions): BooleanПам'ятковий варіант — записує вихід у будь-який TStream без проміжного запису на диск
SaveAsPdfXЗберігає поточний документ як файл, сумісний з PDF/X-1a:2001, PDF/X-3:2002 або PDF/X-4, шляхом постобробки базового PDF інкрементальним оновленням, яке вставляє маркери формату PDF/X (сімейство ISO 15930).
span class="keyword">function SaveAsPdfXToStream(Stream: TStream; const Options: TPdfXSaveOptions): BooleanПам'ятковий варіант — записує вихід у будь-який TStream без проміжного запису на диск
span class="keyword">procedure SetFormFieldFlags(Index: Integer; const Flags: TPdfFormFieldFlags)Описує метод TPdf.SetFormFieldFlags у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">procedure SetFormFieldFlagsAt(X, Y: Single; const Flags: TPdfFormFieldFlags)Описує метод TPdf.SetFormFieldFlagsAt у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">procedure SetPageBox(Box: TPdfPageBox; const Rectangle: TPdfRectangle)Описує метод TPdf.SetPageBox у PDFiumPas і пояснює, коли використовувати цей член API
SetTextОписує метод TPdf.SetText у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">procedure SetTextPositions(ObjectIndex: Integer; const Positions: TPdfSingleArray)Описує метод TPdf.SetTextPositions у PDFiumPas і пояснює, коли використовувати цей член API
SignatureОписує властивість TPdf.Signature у PDFiumPas і пояснює, коли використовувати цей член API
SignatureCountОписує властивість TPdf.SignatureCount у PDFiumPas і пояснює, коли використовувати цей член API
StructureElementsОписує властивість TPdf.StructureElements у PDFiumPas і пояснює, коли використовувати цей член API
SubjectОписує властивість TPdf.Subject у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">function Text(StartIndex: Integer = 0; Count: Integer = MaxInt): WStringВитягує текстовий рядок зі сторінки. Параметри StartIndex і Count визначають, які символи буде витягнуто. Параметр StartIndex має нульову базу
span class="keyword">function TextInRectangle(Left, Top, Right, Bottom: Double): WStringОписує метод TPdf.TextInRectangle у PDFiumPas і пояснює, коли використовувати цей член API
TextPageОписує властивість TPdf.TextPage у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">property ThumbnailОписує властивість TPdf.Thumbnail у PDFiumPas і пояснює, коли використовувати цей член API
TitleПовертає значення запису /Title з словника інформації PDF-документа
TransparentОписує властивість TPdf.Transparent у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">procedure UpdatePageОписує метод TPdf.UpdatePage у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">property UserPermissionsОписує властивість TPdf.UserPermissions у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">function ValidatePdfA: TPdfAValidationResultПеревіряє відкритий зараз PDF на наявність маркерів відповідності PDF/A та повертає структурований результат із виявленим рівнем відповідності та набором знайдених конкретних проблем
span class="keyword">function ValidatePdfE: TPdfEValidationResultПеревіряє відкритий PDF на наявність маркерів відповідності та повертає структурований результат із виявленим рівнем відповідності й набором знайдених конкретних проблем
span class="keyword">function ValidatePdfR: TPdfRValidationResultПеревіряє відкритий PDF на наявність маркерів відповідності та повертає структурований результат із виявленим рівнем відповідності й набором знайдених конкретних проблем
span class="keyword">function ValidatePdfUa: TPdfUaValidationResultПеревіряє відкритий PDF на наявність маркерів відповідності та повертає структурований результат із виявленим рівнем відповідності й набором знайдених конкретних проблем
span class="keyword">function ValidatePdfVT: TPdfVTValidationResultПеревіряє відкритий PDF на наявність маркерів відповідності та повертає структурований результат із виявленим рівнем відповідності й набором знайдених конкретних проблем
span class="keyword">function ValidatePdfX: TPdfXValidationResultПеревіряє відкритий PDF на наявність маркерів відповідності та повертає структурований результат із виявленим рівнем відповідності й набором знайдених конкретних проблем
ViewerPreferenceОписує властивість TPdf.ViewerPreference у PDFiumPas і пояснює, коли використовувати цей член API
WebLinkОписує властивість TPdf.WebLink у PDFiumPas і пояснює, коли використовувати цей член API
WebLinkCountОписує властивість TPdf.WebLinkCount у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">property XFAОписує властивість TPdf.XFA у PDFiumPas і пояснює, коли використовувати цей член API

Компонент TPdfView

TPdfView — це прокручуваний візуальний елемент керування для відображення та взаємодії з PDF-документами. Для роботи потрібне посилання Pdf: TPdf

Опубліковані властивості (режим проєктування)

ВластивістьТипТиповоОпис
AboutstringВідомості про версію компонента
ActiveBooleanFalseАктивує або деактивує переглядач
CurrentCharIndexInteger0Вибраний застосунком індекс символу, збережений для сумісності
DisplayModeTPdfDisplayModedmSingleContinuousРежим відображення сторінок (dmSingleContinuous, dmTwoPageContinuous, dmTwoPageContinuousWithCover)
OptionsTRenderOptions[reLcd]Параметри відтворення (LCD text, анотації, градації сірого тощо)
PageShadowSizeInteger0Необов’язковий розмір тіні в пікселях; від’ємні значення обмежуються 0
PageShadowColorTColorclGrayКолір заливки тіні, який використовується, коли PageShadowSize > 0
PageBorderColorTColorclBlackКолір однопіксельної рамки сторінки
SmoothScrollBooleanFalseАнімує команди смуги прокручування рядка або сторінки в сегментах, керованих таймером; перетягування повзунка лишається миттєвим
LinkOptionsTPdfViewLinkOptions[loAutoGoto, loAutoOpenURI]Керує автоматичною поведінкою goto, URI, launch і embedded-goto після подій натискання на посилання
AsyncRenderingBooleanFalseПоказує накладку завантаження, коли ввімкнено; застосунок усе одно керує запуском робітників
LoadingTextstringLoading...Текст, що малюється в накладці AsyncRendering; порожній рядок приховує накладку
LoadingColorTColorclYellowКолір тла для накладки AsyncRendering
NightDuotoneInkTColor$0000C8FFКолір чорнила, що використовується параметром відтворення reNightDuotone для слабкого зору
NightDuotonePaperTColorclBlackКолір паперу, що використовується параметром відтворення reNightDuotone для слабкого зору
ReadingHighlightColorTColorclSkyBlueКерує загальним кольором накладки підсвічування читання
ReadingWordColorTColor$0000A5FFКерує кольором накладки, що використовується для поточного курсора читання на рівні слова
ReadingWordFollowBooleanTrueКерує тим, чи прокручує TPdfView поточне вимовлюване слово у видиму область під час стеження за читанням
PageNumberInteger1Поточний номер сторінки (нумерація від 1)
PdfTPdfnilПосилання на компонент TPdf
RotationTRotationro0Поворот відображення (ro0, ro90, ro180, ro270)
ZoomDouble1.0Рівень масштабу (1.0 = 100%)

Публічні властивості, специфічні для TPdfView

ВластивістьТипОпис
ActualSizeZoom[PageNumber]DoubleЗначення масштабу для відображення сторінки у фактичному розмірі
CanvasTCanvasПолотно для власного малювання в переглядачі
CharacterAngle[Index]SingleКут повороту символу в радіанах
CharacterCountIntegerКількість символів на поточній сторінці переглядача
CharacterFontSize[Index]DoubleРозмір шрифту символу за індексом; FontSize[Index] лишається сумісним псевдонімом
CharacterFontWeight[Index]IntegerНасиченість шрифту символу за індексом
CharacterOrigin[Index]TPointПочаток символу в координатах пристрою переглядача
CharacterRectangle[Index]TRectМежі символу в координатах пристрою переглядача
FontAscent[Index; FontSize]SingleПідйом шрифту, що використовується текстовим об’єктом за індексом
FontBaseName[Index]WStringБазова назва шрифту для текстового об’єкта за індексом
FontData[Index]TBytesСирі дані шрифту для текстового об’єкта за індексом
FontDescent[Index; FontSize]SingleСпуск шрифту, що використовується текстовим об’єктом за індексом
FontFamilyName[Index]WStringНазва сімейства шрифтів для текстового об’єкта за індексом
FontHandle[Index]FPDF_FONTНизькорівневий дескриптор шрифту PDFium для текстового об’єкта за індексом
FontIsEmbedded[Index]BooleanTrue, якщо шрифт текстового об’єкта вбудовано в PDF
FontItalicAngle[Index]IntegerКут курсиву шрифту текстового об’єкта
FontWeight[Index]IntegerНасиченість шрифту текстового об’єкта
PageHeightZoom[PageNumber]DoubleЗначення масштабу для вміщення висоти сторінки в переглядач
PageWidthZoom[PageNumber]DoubleЗначення масштабу для вміщення ширини сторінки в переглядач
PageZoom[PageNumber]DoubleЗначення масштабу для вміщення всієї сторінки в переглядач
StructureElementsTPdfStructureElementsСплющені елементи логічної структури для поточної сторінки переглядача
WindowHandleHWNDДескриптор вікна елемента керування переглядачем

Методи, специфічні для TPdfView

МетодОпис
CharacterIndexAtPos(X, Y: Integer; ToleranceX, ToleranceY: Double): IntegerЗнаходить символ поблизу точки у координатах пристрою переглядача; повертає -1, коли поруч немає символу
DeviceToPage(X, Y: Integer; out PageX, PageY: Double): BooleanПеретворити координати пристрою переглядача в координати сторінки
DeviceToPage(X, Y: Integer; var PageNumber: Integer; var PageX, PageY: Double): BooleanПеретворити координати пристрою переглядача в координати сторінки з визначенням номера сторінки
DeviceToPage(Rectangle: TRect): TPdfRectangleПеретворити прямокутник пристрою переглядача в прямокутник сторінки
PageToDevice(PageX, PageY: Double; out X, Y: Integer): BooleanПеретворити координати сторінки в координати пристрою переглядача
PageToDevice(Rectangle: TPdfRectangle): TRectПеретворити прямокутник сторінки в прямокутник пристрою переглядача
LinkAnnotationAtPos(X, Y: Integer): IntegerОтримує індекс анотації посилання в позиції екрана
LinkAnnotationAtPos(X, Y: Integer; out PageNumber: Integer): IntegerОтримати індекс анотації посилання з номером сторінки
WebLinkAtPos(X, Y: Integer): IntegerОтримує індекс веб-посилання в позиції екрана
WebLinkAtPos(X, Y: Integer; out PageNumber: Integer): IntegerОтримати індекс веб-посилання з номером сторінки
PaintSelection(SelectionStart, SelectionEnd: Integer; Mask: TColor)Малює підсвічування виділення тексту
FocusedFormFieldValue: WStringПовертає поточне логічне значення поля форми через FocusedFormFieldIndex без залежності від інтерактивного курсора
FocusedFormFieldName: WStringПовертає поточну логічну назву відображення поля форми, надаючи перевагу AlternateName і переходячи до Name
FocusedFormFieldDetails: TPdfFormFieldInfoПовертає TPdfFormFieldInfo для поточного логічного поля форми
ReadingUnits: TPdfReadingUnitsПовертає одиниці читання на рівні речення для допоміжного прослуховування та семантичної навігації
PageWordBoxes: TPdfWordBoxesПовертає словесні блоки з діапазонами FTextPage і прямокутниками у просторі сторінки для підсвічування по словах
SetReadingWord(const Word: TPdfWordBox)Підсвічує один TPdfWordBox як поточне вимовлюване слово в TPdfView
ClearReadingWordОчищує поточну накладку курсора читання на рівні слова в TPdfView
TrackReadingWordAt(PageNumber, CharIndex: Integer): IntegerВідображає зсув символу сторінки на відповідний TPdfWordBox, підсвічує його та повертає індекс слова
RemoveObject(Index: Integer; DestroyObject: Boolean = True)Видалити об’єкт сторінки з поточної сторінки, повторно створити вміст сторінки та перемалювати перегляд
GenerateFormAppearancesПерегенеровує потоки вигляду /AP через пов’язаний компонент TPdf (див. TPdf.GenerateFormAppearances)
FlattenPage(nFlag: Integer = FLAT_NORMALDISPLAY): IntegerСплющує анотації та віджети форм на поточній сторінці в статичний вміст
SetFormFieldFlags(Index: Integer; const Flags: TPdfFormFieldFlags)Встановити прапорці поля AcroForm за індексом анотації поточної сторінки
SetFormFieldFlagsAt(X, Y: Integer; const Flags: TPdfFormFieldFlags)Встановити прапорці поля AcroForm за координатами елемента керування переглядача

VCL Inherited and Other Properties & Methods

APIОпис
span class="keyword">property About: stringОписує властивість TPdfView.About у PDFiumPas і пояснює, коли використовувати цей член API
ActiveОписує властивість TPdfView.Active у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">property ActualSizeZoom[PageNumber: Integer]: DoubleОписує властивість TPdfView.ActualSizeZoom у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">procedure AddImage(const FileName: string; X, Y, Width, Height: Integer); overloadОписує метод TPdfView.AddImage у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">function AddJpegImage(JpegImage: TStream; X, Y, Width, Height: Integer): BooleanTPdfView wrapper that forwards to TPdf.AddJpegImage.
span class="keyword">procedure AddPicture(Picture: TPicture; X, Y: Integer); overloadTPdfView wrapper that forwards to TPdf.AddPicture.
AlignОписує властивість TPdfView.Align у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">property AllowUserPageChange: BooleanОписує властивість TPdfView.AllowUserPageChange у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">property AllowUserTextSelection: BooleanОписує властивість TPdfView.AllowUserTextSelection у PDFiumPas і пояснює, коли використовувати цей член API
AnchorsОписує властивість TPdfView.Anchors у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">property Annotation[Index: Integer]: TPdfAnnotationTPdfView wrapper that forwards to TPdf.Annotation.
span class="keyword">property AnnotationCount: IntegerTPdfView wrapper that forwards to TPdf.AnnotationCount.
span class="keyword">property AsyncRendering: BooleanОписує властивість TPdfView.AsyncRendering у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">property Bitmap[Index: Integer]: TBitmapTPdfView wrapper that forwards to TPdf.Bitmap.
span class="keyword">property BitmapCount: IntegerTPdfView wrapper that forwards to TPdf.BitmapCount.
span class="keyword">property Canvas: TCanvasОписує властивість TPdfView.Canvas у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">property ChangePageOnMouseScrolling: BooleanОписує властивість TPdfView.ChangePageOnMouseScrolling у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">property Character[Index: Integer]: WideCharTPdfView wrapper that forwards to TPdf.Character.
span class="keyword">property CharacterAngle[Index: Integer]: SingleTPdfView wrapper that forwards to TPdf.CharacterAngle.
span class="keyword">property CharacterCount: IntegerTPdfView wrapper that forwards to TPdf.CharacterCount.
span class="keyword">property CharacterFontSize[Index: Integer]: DoubleTPdfView wrapper that forwards to TPdf.CharacterFontSize.
span class="keyword">property CharacterFontWeight[Index: Integer]: IntegerTPdfView wrapper that forwards to TPdf.CharacterFontWeight.
span class="keyword">property CharacterGenerated[Index: Integer]: BooleanTPdfView wrapper that forwards to TPdf.CharacterGenerated.
span class="keyword">function CharacterIndexAtPos(X, Y: Integer; ToleranceX, ToleranceY: Double): IntegerОписує метод TPdfView.CharacterIndexAtPos у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">property CharacterIsHyphen[Index: Integer]: BooleanTPdfView wrapper that forwards to TPdf.CharacterIsHyphen.
span class="keyword">property CharacterMapError[Index: Integer]: BooleanTPdfView wrapper that forwards to TPdf.CharacterMapError.
span class="keyword">property CharacterOrigin[Index: Integer]: TPointTPdfView wrapper that forwards to TPdf.CharacterOrigin.
span class="keyword">property CharacterRectangle[Index: Integer]: TRectTPdfView wrapper that forwards to TPdf.CharacterRectangle.
span class="keyword">property Charcode[Index: Integer]: WideCharTPdfView wrapper that forwards to TPdf.Charcode.
span class="keyword">procedure ClearFormFieldFocusОписує метод TPdfView.ClearFormFieldFocus у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">procedure ClearHighlightTPdfView wrapper that forwards to TPdfView.ClearHighlight.
span class="keyword">procedure ClearReadingHighlightОписує метод TPdfView.ClearReadingHighlight у PDFiumPas і пояснює, коли використовувати цей член API
procedure ClearReadingWordОчищує поточну накладку курсора читання на рівні слова в TPdfView
span class="keyword">procedure ClearSelectionОписує елемент API TPdfView.ClearSelection у PDFiumPas і пояснює, коли використовувати цей член API
ColorОписує властивість TPdfView.Color у PDFiumPas і пояснює, коли використовувати цей член API
ConstraintsОписує властивість TPdfView.Constraints у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">function CopySelectionToClipboard: BooleanОписує функцію TPdfView.CopySelectionToClipboard у PDFiumPas і пояснює, коли використовувати цей член API
constructor Create(AOwner: TComponent); overrideCreates the TPdfView control and initializes rendering, scrolling, selection, and form interaction state
span class="keyword">procedure CreateAnnotation(const Annotation: TPdfAnnotation)TPdfView wrapper that forwards to TPdf.CreateAnnotation.
span class="keyword">property CurrentCharIndex: IntegerОписує властивість TPdfView.CurrentCharIndex у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">procedure DeleteAnnotation(Index: Integer)TPdfView wrapper that forwards to TPdf.DeleteAnnotation.
destructor Destroy; overrideЗвільняє ресурси переглядача, буфери відтворення та підписки на документ перед знищенням TPdfView
span class="keyword">function DeviceToPage(X, Y: Integer; out PageX, PageY: Double): Boolean; overloadОписує метод TPdfView.DeviceToPage у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">property DisplayMode: TPdfDisplayModeОписує властивість TPdfView.DisplayMode у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">property DragCursorОписує властивість TPdfView.DragCursor у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">property DragKindОписує властивість TPdfView.DragKind у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">property DragModeОписує властивість TPdfView.DragMode у PDFiumPas і пояснює, коли використовувати цей член API
EnabledКерує тим, чи приймає переглядач PDF ввід користувача з миші та клавіатури.
span class="keyword">property Find: FPDF_SCHHANDLETPdfView wrapper that forwards to TPdf.Find.
span class="keyword">function FindFirst(const Text: WString; Options: TSearchOptions= []; StartIndex: Integer= 0; DirectionUp: Boolean= True): IntegerОписує метод TPdfView.FindFirst у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">function FindNext: IntegerTPdfView wrapper that forwards to TPdf.FindNext.
span class="keyword">function FindPrevious: IntegerTPdfView wrapper that forwards to TPdf.FindPrevious.
span class="keyword">property FitMode: TPdfFitModeОписує властивість TPdfView.FitMode у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">function FlattenPage(nFlag: Integer = FLAT_NORMALDISPLAY): IntegerTPdfView wrapper that forwards to TPdf.FlattenPage.
span class="keyword">function FocusFormField(Index: Integer): BooleanОписує метод TPdfView.FocusFormField у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">function FocusNextFormField: IntegerОписує метод TPdfView.FocusNextFormField у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">function FocusPreviousFormField: IntegerОписує метод TPdfView.FocusPreviousFormField у PDFiumPas і пояснює, коли використовувати цей член API
function FocusedFormFieldDetails: TPdfFormFieldInfoПовертає TPdfFormFieldInfo для поточного логічного поля форми
span class="keyword">function FocusedFormFieldIndex: IntegerОписує метод TPdfView.FocusedFormFieldIndex у PDFiumPas і пояснює, коли використовувати цей член API
function FocusedFormFieldName: WStringПовертає поточну логічну назву відображення поля форми, надаючи перевагу AlternateName і переходячи до Name
span class="keyword">function FocusedFormFieldText: WStringОписує метод TPdfView.FocusedFormFieldText у PDFiumPas і пояснює, коли використовувати цей член API
function FocusedFormFieldValue: WStringПовертає поточне логічне значення поля форми через FocusedFormFieldIndex без залежності від інтерактивного курсора
span class="keyword">property FontAscent[Index: Integer; FontSize: Single]: SingleTPdfView wrapper that forwards to TPdf.FontAscent.
span class="keyword">property FontBaseName[Index: Integer]: WStringTPdfView wrapper that forwards to TPdf.FontBaseName.
span class="keyword">property FontData[Index: Integer]: TBytesTPdfView wrapper that forwards to TPdf.FontData.
span class="keyword">property FontDescent[Index: Integer; FontSize: Single]: SingleTPdfView wrapper that forwards to TPdf.FontDescent.
span class="keyword">property FontFamilyName[Index: Integer]: WStringTPdfView wrapper that forwards to TPdf.FontFamilyName.
span class="keyword">property FontHandle[Index: Integer]: FPDF_FONTTPdfView wrapper that forwards to TPdf.FontHandle.
span class="keyword">property FontIsEmbedded[Index: Integer]: BooleanTPdfView wrapper that forwards to TPdf.FontIsEmbedded.
span class="keyword">property FontItalicAngle[Index: Integer]: IntegerTPdfView wrapper that forwards to TPdf.FontItalicAngle.
span class="keyword">property FontSize[Index: Integer]: DoubleTPdfView wrapper that forwards to TPdf.FontSize.
span class="keyword">property FontWeight[Index: Integer]: IntegerTPdfView wrapper that forwards to TPdf.FontWeight.
span class="keyword">function FormCanRedo: BooleanОписує метод TPdfView.FormCanRedo у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">function FormCanUndo: BooleanОписує метод TPdfView.FormCanUndo у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">property FormField[Index: Integer]: WStringTPdfView wrapper that forwards to TPdf.FormField.
span class="keyword">property FormFieldAt[X, Y: Integer]: WStringTPdfView wrapper that forwards to TPdf.FormFieldAt.
span class="keyword">property FormFieldCount: IntegerTPdfView wrapper that forwards to TPdf.FormFieldCount.
span class="keyword">property FormFieldInfo[Index: Integer]: TPdfFormFieldInfoTPdfView wrapper that forwards to TPdf.FormFieldInfo.
span class="keyword">property FormFieldInfoAt[X, Y: Integer]: TPdfFormFieldInfoTPdfView wrapper that forwards to TPdf.FormFieldInfoAt.
span class="keyword">function FormFieldTabOrder: TPdfIntegerArrayОписує метод TPdfView.FormFieldTabOrder у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">function FormRedo: BooleanОписує метод TPdfView.FormRedo у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">function FormUndo: BooleanОписує метод TPdfView.FormUndo у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">procedure GenerateFormAppearancesTPdfView wrapper that forwards to TPdf.GenerateFormAppearances.
span class="keyword">function GetSelectedFormText: WStringОписує метод TPdfView.GetSelectedFormText у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">property HasFormFieldAt[X, Y: Integer]: BooleanTPdfView wrapper that forwards to TPdf.HasFormFieldAt.
span class="keyword">function HasSelection: BooleanОписує функцію TPdfView.HasSelection у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">property HighlightColor: TColorОписує властивість TPdfView.HighlightColor у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">function HighlightSearchText(const Text: WString; MatchCase: Boolean= False; MatchWholeWord: Boolean= False): IntegerTPdfView wrapper that forwards to TPdfView.HighlightSearchText.
span class="keyword">property Image[Index: Integer]: TPdfImageTPdfView wrapper that forwards to TPdf.Image.
span class="keyword">property ImageCount: IntegerTPdfView wrapper that forwards to TPdf.ImageCount.
span class="keyword">property LinkAnnotation[PageNumber, Index: Integer]: TLinkAnnotationTPdfView wrapper that forwards to TPdf.LinkAnnotation.
span class="keyword">function LinkAnnotationAtPos(X, Y: Integer; out PageNumber: Integer): Integer; overloadОписує метод TPdfView.LinkAnnotationAtPos у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">property LinkAnnotationCount[PageNumber: Integer]: IntegerTPdfView wrapper that forwards to TPdf.LinkAnnotationCount.
span class="keyword">property LinkOptions: TPdfViewLinkOptionsОписує властивість TPdfView.LinkOptions у PDFiumPas і пояснює, коли використовувати цей член API
LoadingColorОписує властивість TPdfView.LoadingColor у PDFiumPas і пояснює, коли використовувати цей член API
LoadingTextОписує властивість TPdfView.LoadingText у PDFiumPas і пояснює, коли використовувати цей член API
property NightDuotoneInk: TColorControls the ink colour used by the reNightDuotone low-vision render option
property NightDuotonePaper: TColorControls the paper colour used by the reNightDuotone low-vision render option
span class="keyword">property ObjectBitmap[Index: Integer]: TBitmapTPdfView wrapper that forwards to TPdf.ObjectBitmap.
span class="keyword">property ObjectBounds[Index: Integer]: TPdfRectangleTPdfView wrapper that forwards to TPdf.ObjectBounds.
span class="keyword">property ObjectCount: IntegerTPdfView wrapper that forwards to TPdf.ObjectCount.
span class="keyword">property ObjectHandle[Index: Integer]: PointerTPdfView wrapper that forwards to TPdf.ObjectHandle.
span class="keyword">property ObjectTransparent[Index: Integer]: BooleanTPdfView wrapper that forwards to TPdf.ObjectTransparent.
span class="keyword">property ObjectType[Index: Integer]: TObjectTypeОбгортка TPdfView, яка передає виклик до TPdf.ObjectType
span class="keyword">property Options: TRenderOptionsОписує властивість TPdfView.Options у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">property Page: FPDF_PAGETPdfView wrapper that forwards to TPdf.Page.
span class="keyword">property PageBorderColor: TColorColor of the 1-pixel border drawn around each page rectangle.
span class="keyword">property PageBounds: TPdfRectangleTPdfView wrapper that forwards to TPdf.PageBounds.
span class="keyword">property PageColor: TColorКолір фону, який малюється під відтвореною PDF-сторінкою і не залежить від властивості Color навколишнього елемента керування. За замовчуванням clWhite, тому сторінки PDF залишаються білими як папір навіть тоді, коли Color хост-контролу оформлено в темній темі
span class="keyword">property PageCount: IntegerTPdfView wrapper that forwards to TPdf.PageCount.
span class="keyword">property PageHeight: DoubleTPdfView wrapper that forwards to TPdf.PageHeight.
span class="keyword">property PageHeightZoom[PageNumber: Integer]: DoubleОписує властивість TPdfView.PageHeightZoom у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">property PageLabel: WStringTPdfView wrapper that forwards to TPdf.PageLabel.
span class="keyword">property PageNumber: IntegerTPdfView wrapper that forwards to TPdf.PageNumber.
span class="keyword">property PageRotation: TRotationTPdfView wrapper that forwards to TPdf.PageRotation.
PageShadowColorОписує властивість TPdfView.PageShadowColor у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">property PageShadowSize: IntegerОписує властивість TPdfView.PageShadowSize у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">function PageToDevice(PageX, PageY: Double; out X, Y: Integer): Boolean; overloadОписує метод TPdfView.PageToDevice у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">property PageWidth: DoubleTPdfView wrapper that forwards to TPdf.PageWidth.
span class="keyword">property PageWidthZoom[PageNumber: Integer]: DoubleОписує властивість TPdfView.PageWidthZoom у PDFiumPas і пояснює, коли використовувати цей член API
function PageWordBoxes: TPdfWordBoxesОписує метод TPdfView.PageWordBoxes у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">property PageZoom[PageNumber: Integer]: DoubleОписує властивість TPdfView.PageZoom у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">procedure PaintSelection(SelectionStart, SelectionEnd: Integer; Mask: TColor)TPdfView wrapper that forwards to TPdfView.PaintSelection.
span class="keyword">property ParentShowHintОписує властивість TPdfView.ParentShowHint у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">property Pdf: TPdfОписує властивість TPdfView.Pdf у PDFiumPas і пояснює, коли використовувати цей член API
PopupMenuОписує властивість TPdfView.PopupMenu у PDFiumPas і пояснює, коли використовувати цей член API
ReadableContentОписує властивість TPdfView.ReadableContent у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">property ReadingHighlightColor: TColorОписує властивість TPdfView.ReadingHighlightColor у PDFiumPas і пояснює, коли використовувати цей член API
function ReadingUnits: TPdfReadingUnitsОписує метод TPdfView.ReadingUnits у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">property ReadingWordColor: TColorКерує кольором накладки, що використовується для поточного курсора читання на рівні слова
span class="keyword">property ReadingWordFollow: BooleanКерує тим, чи прокручує TPdfView поточне вимовлюване слово у видиму область під час стеження за читанням
span class="keyword">property Rectangle[Index: Integer]: TRectTPdfView wrapper that forwards to TPdf.Rectangle.
span class="keyword">function RectangleCount(StartIndex: Integer = 0; Count: Integer = MaxInt): IntegerTPdfView wrapper that forwards to TPdf.RectangleCount.
span class="keyword">procedure ReloadPageTPdfView wrapper that forwards to TPdf.ReloadPage.
span class="keyword">procedure RemoveObject(Index: Integer; DestroyObject: Boolean = True)TPdfView wrapper that forwards to TPdf.RemoveObject.
span class="keyword">procedure RenderPage(DeviceContext: HDC; Left, Top, Width, Height: Integer; Rotation: TRotation = ro0; Options: TRenderOptions = [])Описує метод TPdfView.RenderPage у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">function RenderTile(Left, Top, Width, Height, PageWidth, PageHeight: Integer; Rotation: TRotation = ro0; Options: TRenderOptions = []): TBitmapОписує метод TPdfView.RenderTile у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">property Rotation: TRotationОписує властивість TPdfView.Rotation у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">procedure SelectAllОписує елемент API TPdfView.SelectAll у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">function SelectAllFormText: BooleanОписує метод TPdfView.SelectAllFormText у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">function SelectTextRange(Page, StartIndex, Count: Integer): BooleanОписує метод TPdfView.SelectTextRange у PDFiumPas і пояснює, коли використовувати цей член API
function SelectWordBox(const Word: TPdfWordBox): BooleanВибирає діапазон тексту, який представляє один TPdfWordBox на поточній сторінці TPdfView
function SelectWordSpan(const Words: TPdfWordBoxes; StartIndex, EndIndex: Integer): BooleanОписує метод TPdfView.SelectWordSpan у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">function SelectedText: WStringОписує функцію TPdfView.SelectedText у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">function SelectionCharCount: IntegerОписує функцію TPdfView.SelectionCharCount у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">property SelectionColor: TColorОписує властивість TPdfView.SelectionColor у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">function SelectionRanges: TPdfUserSelectionRangesОписує метод TPdfView.SelectionRanges у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">function SelectionRectangles: TPdfRectanglesОписує метод TPdfView.SelectionRectangles у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">procedure SetFormFieldFlags(Index: Integer; const Flags: TPdfFormFieldFlags)TPdfView wrapper that forwards to TPdf.SetFormFieldFlags.
span class="keyword">procedure SetFormFieldFlagsAt(X, Y: Integer; const Flags: TPdfFormFieldFlags)TPdfView wrapper that forwards to TPdf.SetFormFieldFlagsAt.
span class="keyword">procedure SetReadingHighlight(const Rects: TPdfRectangles; PageNumber: Integer)Керує накладкою підсвічування читання TPdfView, яку використовує синхронізоване відтворення тексту в мовлення
procedure SetReadingWord(const Word: TPdfWordBox)Підсвічує один TPdfWordBox як поточне вимовлюване слово в TPdfView
span class="keyword">function SetSelection(const Ranges: TPdfUserSelectionRanges): BooleanОписує метод TPdfView.SetSelection у PDFiumPas і пояснює, коли використовувати цей член API
ShowHintУвімкнює або вимикає підказку, яку показують, коли вказівник миші затримується над переглядачем PDF
span class="keyword">property SmoothScroll: BooleanОписує властивість TPdfView.SmoothScroll у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">property StructureElements: TPdfStructureElementsTPdfView wrapper that forwards to TPdf.StructureElements.
TabOrderОписує властивість TPdfView.TabOrder у PDFiumPas і пояснює, коли використовувати цей член API
TabStopОписує властивість TPdfView.TabStop у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">function Text(StartIndex: Integer = 0; Count: Integer = MaxInt): WStringTPdfView wrapper that forwards to TPdf.Text.
span class="keyword">function TextInRectangle(Left, Top, Right, Bottom: Integer): WString; overloadTPdfView wrapper that forwards to TPdf.TextInRectangle.
span class="keyword">property TextPage: FPDF_TEXTPAGETPdfView wrapper that forwards to TPdf.TextPage.
span class="keyword">property Thumbnail: TBitmapTPdfView wrapper that forwards to TPdf.Thumbnail.
span class="keyword">property TouchОписує властивість TPdfView.Touch у PDFiumPas і пояснює, коли використовувати цей член API
function TrackReadingWordAt(PageNumber, CharIndex: Integer): IntegerВідображає зсув символу сторінки на відповідний TPdfWordBox, підсвічує його та повертає індекс слова
span class="keyword">property Transparent: BooleanTPdfView wrapper that forwards to TPdf.Transparent.
span class="keyword">procedure UpdatePageTPdfView wrapper that forwards to TPdf.UpdatePage.
VisibleОписує властивість TPdfView.Visible у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">property WebLink[PageNumber, Index: Integer]: TWebLinkTPdfView wrapper that forwards to TPdf.WebLink.
span class="keyword">function WebLinkAtPos(X, Y: Integer; out PageNumber: Integer): Integer; overloadПовертає індекс вебпосилання за екранним пікселем (X, Y)
span class="keyword">property WebLinkCount[PageNumber: Integer]: IntegerTPdfView wrapper that forwards to TPdf.WebLinkCount.
span class="keyword">property WindowHandle: HWNDОписує властивість TPdfView.WindowHandle у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">property Zoom: DoubleОписує властивість TPdfView.Zoom у PDFiumPas і пояснює, коли використовувати цей член API

Події TPdfView

ПодіяТипОпис
OnPageChangeTNotifyEventСпрацьовує, коли відображена сторінка змінюється під час прокручування
OnPageNumberChangedTNotifyEventСпрацьовує, коли змінюється властивість PageNumber
OnAnnotationLinkClickTPdfViewAnnotationLinkClickEventСпрацьовує перед автоматичною дією посилання анотації; установіть Handled, щоб придушити дію за замовчуванням
OnWebLinkClickTPdfViewWebLinkClickEventСпрацьовує перед автоматичною дією виявленого веб-посилання; установіть Handled, щоб придушити ShellExecute
OnPaintTNotifyEventСпрацьовує під час власного малювання
span class="keyword">property OnAnnotationLinkClick: TPdfViewAnnotationLinkClickEventСпрацьовує, коли користувач клацає /Annot Subtype Link, який не обробляється автоматично через LinkOptions.
span class="keyword">property OnCanResizeОписує подію TPdfView.OnCanResize у PDFiumPas і пояснює, коли використовувати цей член API
OnClickОписує подію TPdfView.OnClick у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">property OnConstrainedResizeОписує подію TPdfView.OnConstrainedResize у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">property OnContextPopupОписує подію TPdfView.OnContextPopup у PDFiumPas і пояснює, коли використовувати цей член API
OnDblClickОписує подію TPdfView.OnDblClick у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">property OnDragDropОписує подію TPdfView.OnDragDrop у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">property OnDragOverОписує подію TPdfView.OnDragOver у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">property OnEndDockОписує подію TPdfView.OnEndDock у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">property OnEndDragОписує подію TPdfView.OnEndDrag у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">property OnEnterОписує подію TPdfView.OnEnter у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">property OnExitОписує подію TPdfView.OnExit у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">property OnFormFieldFocusChange: TPdfFormFieldFocusEventFires when TPdfView moves or clears the logical AcroForm field focus cursor
span class="keyword">property OnGestureОписує подію TPdfView.OnGesture у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">property OnKeyDown: TKeyEventОписує подію TPdfView.OnKeyDown у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">property OnKeyPress: TKeyPressEventОписує подію TPdfView.OnKeyPress у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">property OnKeyUp: TKeyEventОписує подію TPdfView.OnKeyUp у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">property OnMouseActivateОписує подію TPdfView.OnMouseActivate у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">property OnMouseDown: TMouseEventОписує подію TPdfView.OnMouseDown у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">property OnMouseEnterОписує подію TPdfView.OnMouseEnter у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">property OnMouseLeaveОписує подію TPdfView.OnMouseLeave у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">property OnMouseMove: TMouseMoveEventОписує подію TPdfView.OnMouseMove у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">property OnMouseUp: TMouseEventОписує подію TPdfView.OnMouseUp у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">property OnMouseWheel: TMouseWheelEventОписує подію TPdfView.OnMouseWheel у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">property OnMouseWheelDownОписує подію TPdfView.OnMouseWheelDown у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">property OnMouseWheelUpОписує подію TPdfView.OnMouseWheelUp у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">property OnPageChange: TNotifyEventСпрацьовує, коли змінюється поточна сторінка for any reason.
span class="keyword">property OnPageNumberChanged: TNotifyEventОписує подію TPdfView.OnPageNumberChanged у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">property OnPaint: TNotifyEventОписує подію TPdfView.OnPaint у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">property OnResize: TNotifyEventОписує подію TPdfView.OnResize у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">property OnSelectionChange: TNotifyEventОписує подію TPdfView.OnSelectionChange у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">property OnStartDockОписує подію TPdfView.OnStartDock у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">property OnStartDragОписує подію TPdfView.OnStartDrag у PDFiumPas і пояснює, коли використовувати цей член API
span class="keyword">property OnWebLinkClick: TPdfViewWebLinkClickEventСпрацьовує, коли користувач клацає веб-URL, виявлений у тексті, який не обробляється автоматично через LinkOptions.

Компонент TPdfReadingSession

TPdfReadingSession — це нейтральна щодо TTS машина станів для читання вголос, яка координує фрагменти TPdfSpokenText, callback-и мовного рушія хоста та підсвічування курсора слів у TPdfView

Методи

МетодОпис
Create(AOwner: TComponent)Ініціалізувати порожній сеанс із типовим оціненим темпом мовлення
LoadSpoken(const Chunks: TPdfSpokenTexts)Зупинити поточне відтворення та скопіювати фрагменти для озвучування по порядку
PlayПочати відтворення з першого завантаженого фрагмента
PlayFrom(ChunkIndex: Integer)Почати відтворення з фрагмента за нульовим індексом
PauseПерейти з pssSpeaking до pssPaused і викликати OnPauseRequest
ResumeВідновити призупинене відтворення або повторно озвучити поточний фрагмент, коли ввімкнено ResumeRestartsChunk
StopСкасувати відтворення, скинути курсори фрагментів і слів та очистити пов’язане підсвічування слів TPdfView
FeedSpokenPosition(SpokenOffset: Integer)Зіставити зсув мовного рушія назад із символом сторінки PDF і пересунути курсор слів TPdfView
Tick(SpeechStillBusy: Boolean; ElapsedMs: Cardinal = 0)Перейти до наступного фрагмента, завершити відтворення або оцінити поточне слово, поки мовлення ще зайняте

Властивості

ВластивістьТипОпис
StateTPdfReadingSessionStateПоточний стан: pssIdle, pssSpeaking або pssPaused
ChunkCountIntegerКількість завантажених фрагментів для озвучування
CurrentChunkIntegerАктивний індекс фрагмента з нумерацією від 0 або -1, коли фрагмент неактивний
CurrentWordIntegerАктивний індекс слова з нумерацією від 0 всередині поточного фрагмента або -1, коли невідомо
ViewTPdfViewПереглядач, який отримує оновлення курсора слів
EstimatePacingBooleanВикористовувати час, що минув, для оцінки позиції слова в рушіях мовлення без сигналу позиції слова
EstimatedWordsPerMinuteIntegerШвидкість мовлення, яку використовують для оцінки темпу, типово 175
ResumeRestartsChunkBooleanДля рушіїв, де пауза скасовує чергу мовлення, змушує Resume повторно озвучити поточний фрагмент

Події

ПодіяТипОпис
OnSpeakTPdfReadingSpeakEventСпрацьовує, коли хост має озвучити фрагмент
OnCancelRequestTNotifyEventСпрацьовує, коли хост має скасувати мовлення
OnPauseRequestTNotifyEventСпрацьовує, коли хост має призупинити мовлення
OnResumeRequestTNotifyEventСпрацьовує, коли хост має відновити мовлення без перезапуску фрагмента
OnChunkChangeTPdfReadingChunkEventСпрацьовує, коли активний фрагмент змінюється
OnWordChangeTPdfReadingWordEventСпрацьовує, коли активне слово змінюється
OnFinishedTNotifyEventСпрацьовує після завершення останнього фрагмента

Компонент TPdfThumbnailView

TPdfThumbnailView — це прокручувана бічна панель із модуля FPdfThumbnail. Вона пов’язується з компонентом TPdf і показує одну мініатюру сторінки в кожному рядку для навігації сторінками

Опубліковані властивості

ВластивістьТипТиповоОпис
PdfTPdfnilКомпонент документа, що використовується для відтворення мініатюр
CurrentPageIndexInteger0Вибраний індекс сторінки з нумерацією від 1; 0 означає, що сторінку не вибрано
ThumbnailWidthInteger120Цільова ширина мініатюри, обмежена діапазоном 48..800
ThumbnailHeightInteger160Цільова висота мініатюри, обмежена діапазоном 48..800
TextColorTColorclBlackКолір підпису номера сторінки
HoverColorTColorclMoneyGreenКолір підсвічування рядка під мініатюрою під курсором
SelectionColorTColorclHighlightКолір підсвічування рядка для CurrentPageIndex
BorderColorTColorclGrayКолір рамки мініатюри

Події

ПодіяТипОпис
OnPageClickTPdfThumbnailClickEventСпрацьовує, коли користувач клацає лівою кнопкою рядок мініатюри; APageIndex має нумерацію від 1

Типи даних і переліки

Основні типи

ТипВизначення
WStringТип широкого рядка для тексту Unicode
TPdfIntegerArrayДинамічний масив значень Integer
TPdfSingleArrayДинамічний масив значень Single, що використовують для позицій символів текстового об’єкта
TPdfPrintPageRangeЗапис: StartPage, EndPage: Integer
TPdfPrintPageRangesДинамічний масив діапазонів сторінок для друку з нумерацією від 1
TPdfPointRecord: X, Y: Double
TPdfRectangleRecord: Left, Top, Right, Bottom: Double
TPdfReadingUnitЗберігає одну одиницю озвучуваного читання з текстом, семантичним типом, сторінкою, прямокутниками підсвічування, індексами джерела, станом альтернативного тексту та мовою
TPdfReadingUnitsДинамічний масив записів TPdfReadingUnit
TPdfWordBoxЗберігає одне слово, його діапазон символів FTextPage, прямокутник у просторі сторінки та номер сторінки з нумерацією від 1
TPdfWordBoxesДинамічний масив записів TPdfWordBox
TPdfSpokenSpanВідображає один фрагмент тексту рушія мовлення назад у діапазон символів вихідної сторінки
TPdfSpokenSpansДинамічний масив записів TPdfSpokenSpan
TPdfSpokenTextТекст мовлення разом із зіставленням фрагментів до тексту сторінки PDF
TPdfSpokenTextsДинамічний масив фрагментів TPdfSpokenText
TPdfReadingSessionStatepssIdle, pssSpeaking, pssPaused
TPdfReadingSpeakEventСигнатура зворотного виклику для TPdfReadingSession.OnSpeak
TPdfReadingChunkEventСигнатура зворотного виклику для TPdfReadingSession.OnChunkChange
TPdfReadingWordEventСигнатура зворотного виклику для TPdfReadingSession.OnWordChange
TPdfStreamAdapterКлас, що надає доступний для seek TStream як callback-и PDFium FPDF_FILEACCESS
TPdfXObjectОбгортка життєвого циклу для повторно використовуваних дескрипторів Form XObject, створених через CreateXObjectFromPage
TPdfFileIdentifierTypefidPermanent, fidChanging
TPdfPageBoxpbMedia, pbCrop, pbBleed, pbTrim, pbArt
TPdfJavaScriptActionЗапис: Name, Script: WString
TPdfJavaScriptActionsДинамічний масив записів TPdfJavaScriptAction
TPdfVersionpvUnknown, pv10, pv11, pv12, pv13, pv14, pv15, pv16, pv17. Явні цілі SaveAs від pv13 до pv17 нормалізуються та перевіряються за вибраною версією PDF: файл збереження відхиляється, якщо він містить записи словника, імена фільтрів, підтипи анотацій, типи дій, шрифти, колірні простори або параметри шифрування, додані після вибраної версії (наприклад, коли ціль застаріла, блокуються JBIG2Decode, MarkInfo, анотації Polygon/PolyLine/Caret/Screen/Watermark/Redact, шифрування AES/AES-256, Tagged PDF, OutputIntents або Portable Collection)
TRotationro0, ro90, ro180, ro270
TSaveOptionsaNone, saIncremental, saNoIncremental, saRemoveSecurity
TObjectTypeotUnknown, otText, otPath, otImage, otShading, otForm
TPageModepmNone, pmOutline, pmThumbs, pmFullScreen, pmOptionalContentGroup, pmAttachments, pmUnknown
TPdfActionacUnsupported, acGoto, acGotoRemote, acUri, acLaunch
TPdfPrintModeprEmf, prTextOnly, prPostScript2, prPostScript3, prPostScript2PassThrough, prPostScript3PassThrough, prEmfImageMasks, prPostScript3Type42, prPostScript3Type42PassThrough
TPdfDisplayModedmSingleContinuous, dmTwoPageContinuous, dmTwoPageContinuousWithCover
TPdfViewLinkOptionloAutoGoto, loAutoOpenURI, loAutoLaunch, loAutoEmbeddedGoto
TPdfViewLinkOptionsНабір значень TPdfViewLinkOption

Пошук та параметри відтворення

ТипЗначення
TSearchOptionseCaseSensitive, seWholeWord, seConsecutive
TSearchOptionsНабір TSearchOption
TRenderOptionreAnnotations, reLcd, reNoNativeText, reGrayscale, reDebugInfo, reNoCatchException, reLimitCache, reHalftone, rePrinting, reReverseByteOrder, reNoSmoothText, reNoSmoothImage, reNoSmoothPath, reInvert, reNightDuotone
TRenderOptionsНабір TRenderOption

Типи малювання

ТипЗначення
TPdfFillModefmNone, fmAlternate, fmWinding
TPdfLineCaplcDefault, lcButt, lcRound, lcProjectingSquare
TPdfLineJoinljDefault, ljMiter, ljRound, ljBevel
TPdfBlendModebmDefault, bmMultiply, bmScreen, bmOverlay, bmDarken, bmLighten, bmColorDodge, bmColorBurn, bmHardLight, bmSoftLight, bmDifference, bmExclusion, bmHue, bmSaturation, bmColor, bmLuminosity

Типи анотацій

ТипОпис
TPdfAnnotationSubtypeПідтипи анотацій: Text, Link, FreeText, Line, Square, Circle, Polygon, PolyLine, Highlight, Underline, Squiggly, StrikeOut, Stamp, Caret, Ink, Popup, FileAttachment, Sound, Movie, Widget, Screen, PrinterMark, TrapNet, Watermark, 3D, RichMedia, XFAWidget, Redact
TPdfAnnotationFlagПрапорці: afInvisible, afHidden, afPrint, afNoZoom, afNoRotate, afNoView, afReadOnly, afLocked, afToggleNoView
TPdfAnnotationЗапис, що містить Subtype, Flags, Color, InteriorColor, Contents, Rectangle та інші властивості

Типи форм

ТипОпис
TPdfFormTypeftUnknown, ftNone, ftAcroForm, ftXfaFull, ftXfaForeground
TPdfFormFieldTypefiUnknown, fiPushButton, fiCheckBox, fiRadioButton, fiComboBox, fiListBox, fiTextField, fiSignature
TPdfFormFieldFlagffReadOnly, ffRequired, ffNoExport, ffMultiline, ffChoiceCombo, ffChoiceEdit, ffPassword, ffChoiceMultiSelect
TPdfFormFieldInfoЗапис, що містить FieldType, Flags, Name, Value, AlternateName та інші властивості

Типи записів

ТипПоля
TBookmarkДескриптор, назва, PageNumber, дія, ActionPageNumber
TDestinationДескриптор, ім’я, PageNumber, HasX, X, HasY, Y, HasZoom, Zoom
TLinkAnnotationДескриптор, прямокутник, PageNumber, дія, ActionPageNumber, ActionPath, Points
TWebLinkUrl: WString, Rectangles: TPdfRectangles
TPdfImageWidth: Integer, Height: Integer, Data: TBytes
TPdfSignatureContent: TBytes, Encoding: WString, Reason: WString, Time: WString, Permission: Integer
TPdfStructureElementLevel, ParentIndex, TypeName, ObjectType, Title, AlternateText, ActualText, Expansion, ID, Language, MarkedContentID, MarkedContentIDs, ChildCount, ChildMarkedContentIDs, AttributeCount

Допоміжний модуль FPdfAsync

ТипОпис
IPdfCancellationTokenТокен скасування лише для читання з IsCancelled, ThrowIfCancelled і RegisterCallback
IPdfCancellationTokenSourceДжерело скасування з боку власника, що надає Token і Cancel
TPdfCancellationTokenSourceТипова реалізація; використовуйте TPdfCancellationTokenSource.New
EPdfOperationCancelledВиключення, яке ThrowIfCancelled піднімає після скасування
TPdfFutureStatuspfsSuccess, pfsCancelled, pfsFailure
TPdfFutureResult<T>Обгортка результату з Value, Status, ErrorMessage та помічниками IsSuccess / IsCancelled / IsFailure
TPdfFuture<T>.RunПомічник фонових worker-ів типу fire-and-forget, який ставить відповідь у чергу назад у головний потік
PdfNoCancellationTokenСпільний токен, який ніколи не скасовується

Допоміжний модуль FPdfMatrix

ЕлементОпис
TPdfMatrix.CreateСтворити одиничну матрицю, явну матрицю з шести значень або копіювати з FS_MATRIX
ResetСкинути до одиничної матриці
MultiplyЗастосувати постмноження іншим TPdfMatrix або шістьма значеннями FS_MATRIX
Translate / Scale / Rotate / SkewСкладати поширені перетворення PDF-простору
HorizontalFlip / VerticalFlip / CentralFlipСкладати віддзеркалення по осях
a, b, c, d, e, fВластивості елементів матриці лише для читання
HandleСире значення FS_MATRIX для API PDFium

Допоміжні класи PDFium

КласОпис
TPdfStreamAdapterОбгортає доступний для seek Pascal TStream як FPDF_FILEACCESS для власного завантаження документа
TPdfXObjectКерує повторно використовуваним FPDF_XOBJECT, створеним з іншої PDF-сторінки

Глобальні функції

ФункціяОпис
Loaded: BooleanПовертає True, якщо вибрану бібліотеку PDFium завантажено
LoadLibraryЗавантажує бібліотеку PDFium вручну
UnloadLibraryВивантажує бібліотеку PDFium
DecodeDate(const Value: string; out DateTime: TDateTime; out DateTimeOffset: Integer): BooleanРозбирає рядок дати PDF у TDateTime і зсув UTC
SetPdfPrintMode(PrintMode: TPdfPrintMode): BooleanВибирає вихідний режим друку PDFium для Windows для подальшого відтворення друку
SetPdfPrintPaperHandlingDevMode(var DevMode: TDeviceMode; PrintPaperHandling: TPrintPaperHandling): BooleanВідображає підказку двобічного друку з параметрів переглядача PDF у Windows DEVMODE.dmDuplex
V8FeaturesAvailable: BooleanПовертає True, коли завантажена DLL надає експорти допоміжних функцій PDFium V8
XfaBStrHelpersAvailable: BooleanПовертає True, коли завантажена DLL надає експорти допоміжних функцій XFA FPDF_BSTR
GetRecommendedV8Flags: stringПовертає рекомендовані PDFium параметри командного рядка V8 або порожній рядок, коли завантажена DLL їх не надає
PdfBufferLooksXfa(Data: PByte; Size: Integer): BooleanScans a raw PDF byte buffer for XFA markers without loading pdfium.dll
PdfFileLooksXfa(const FileName: string): BooleanScans a PDF file on disk for XFA markers without loading pdfium.dll
ValidatePdfUaStructureElements(const Elements: TPdfStructureElements): TPdfUaValidationIssuesПеревіряє зведені дані TPdfStructureElement на проблеми структури PDF/UA без завантаження pdfium.dll
ClassifyStructType(const TypeName: WString; out HeadingLevel: Integer): TPdfContentFragmentKindКласифікує назву типу елемента структури в TPdfContentFragmentKind і необов’язковий рівень заголовка
FormFieldTabOrderForPage(FormHandle: FPDF_FORMHANDLE; Page: FPDF_PAGE): TPdfIntegerArrayПовертає індекси анотацій віджетів сторінки у порядку вкладок форми
FocusedFormFieldTextForPage(FormHandle: FPDF_FORMHANDLE; Page: FPDF_PAGE): WStringПовертає текст активного віджета для одного дескриптора форми та сторінки
NextFormFieldIndexForPage(FormHandle: FPDF_FORMHANDLE; Page: FPDF_PAGE; CurrentIndex: Integer; GoForward: Boolean): IntegerЗнаходить наступний або попередній індекс анотації віджета в порядку вкладок сторінки
ClearFocusedFormField(FormHandle: FPDF_FORMHANDLE): BooleanОчищує поточний активний віджет форми для дескриптора форми PDFium
ComputeSpreadPages(DisplayMode: TPdfDisplayMode; PageNumber, PageCount: Integer; out LeftPageNo, RightPageNo: Integer)Обчислює номери лівої та правої сторінок для режимів відображення з двома сторінками
BuildReadingUnits(const Fragments: TPdfContentFragments): TPdfReadingUnitsПеретворює фрагменти читабельного вмісту в одиниці читання на рівні речення
NextReadingUnitOfKind(const Units: TPdfReadingUnits; CurrentIndex: Integer; Kind: TPdfContentFragmentKind; GoForward: Boolean): IntegerЗнаходить наступну або попередню одиницю читання потрібного семантичного типу
BuildWordBoxes(const PageText: WString): TPdfWordBoxesРозбиває текст сторінки на записи TPdfWordBox
WordBoxIndexAtCharIndex(const Words: TPdfWordBoxes; CharIndex: Integer): IntegerВідображає індекс символу сторінки на індекс word-box
SpokenTextAppend(var Spoken: TPdfSpokenText; const SpokenPart: WString; Page, StartIndex: Integer; SourceCount: Integer = -1)Додає один зіставлений фрагмент озвученого тексту до мовного фрагмента
BuildSpokenTextFromWords(const Words: TPdfWordBoxes; FirstWord, LastWord: Integer): TPdfSpokenTextСтворює фрагмент озвученого тексту з діапазону word-box
SpokenToPageChar(const Spoken: TPdfSpokenText; SpokenOffset: Integer; out Page, CharIndex: Integer): BooleanПеретворює зсув озвученого тексту назад в індекс символу сторінки
EstimateSpokenWordIndex(const Words: TPdfWordBoxes; ElapsedMs: Cardinal; WordsPerMinute: Integer): IntegerОцінює поточний індекс слова для рушіїв, що не повідомляють сигнал позиції слова
FPDF_RenderPageSkiaНизькорівневе зв’язування PDFium для відтворення вмісту сторінки у зовнішній SkCanvas
FPDF_FFLDrawSkiaНизькорівневе зв’язування PDFium для малювання полів форми та popup-анотацій у зовнішній SkCanvas
PointsToInches(Points: Double): DoubleПеретворює пункти PDF у дюйми
PointsToPixels(Points, PixelsPerInch: Double): DoubleПеретворює пункти PDF у пікселі
PixelsToInches(Pixels, PixelsPerInch: Double): DoubleПеретворює пікселі в дюйми
PixelsToPoints(Pixels, PixelsPerInch: Double): DoubleПеретворює пікселі в пункти PDF
GetApplicationPath: stringПовертає каталог виконуваного файла, що використовується як перший корінь пошуку DLL PDFium
IsWin64: BooleanПовертає True, коли поточний процес націлений на Win64
BuildDllName(UseV8: Boolean): stringПовертає pdfium.dll або pdfium.v8.dll для запитаного режиму V8
FindDllInPath(const DllName, SearchPath: string): stringЗнаходить PDFium DLL із заданою назвою в одному каталозі
FindDllInDllsTree(const DllName, StartPath, SubDir: string): stringШукає папки DLLs\Win32 або DLLs\Win64 нижче за початковий шлях
LoadPDFiumDll: stringВизначає шлях до DLL PDFium, використовуючи політику пошуку компонента

Глобальні змінні

ЗміннаТипТиповоОпис
LibraryNamestring'pdfium.dll'Назва стандартної DLL PDFium, яку слід завантажити, коли EnableV8Engine має значення False
EnableV8EngineBooleanFalseУстановіть True перед завантаженням, щоб вибрати pdfium.v8.dll із відповідної папки DLLs Win32 або Win64

Типові сценарії використання

Реалізація PDF-переглядача

procedure TMainForm.OpenPDF(const FileName: string);
begin
  Pdf.FileName := FileName;
  Pdf.Active := True;
  PdfView.Pdf := Pdf;
  PdfView.Active := True;
  StatusBar1.SimpleText := Format('Loaded: %s (%d pages)',
    [ExtractFileName(FileName), Pdf.PageCount]);
end;

Створення PDF із стисненням

Pdf.CreateDocument;
Pdf.Compressed := True;
Pdf.Active := True;
Pdf.AddPage(0, 595, 842);
Pdf.AddText('Hello World!', 'Arial', 24, 100, 700, clBlack, $FF, 0.0);
Pdf.SaveAs('output.pdf');
Pdf.Active := False;

Витяг тексту

Pdf.FileName := 'document.pdf';
Pdf.Active := True;
for I := 1 to Pdf.PageCount do
begin
  Pdf.PageNumber := I;
  Memo1.Lines.Add(Format('--- Page %d ---', [I]));
  Memo1.Lines.Add(Pdf.Text);
end;
Pdf.Active := False;

Обробка полів форми

Pdf.FileName := 'form.pdf';
Pdf.Active := True;
Pdf.PageNumber := 1;
for I := 0 to Pdf.FormFieldCount - 1 do
begin
  FieldInfo := Pdf.FormFieldInfo[I];
  case FieldInfo.FieldType of
    fiTextField:
      Pdf.FormField[I] := 'New Value';
    fiCheckBox:
      Pdf.FormField[I] := 'Yes';
  end;
end;
Pdf.SaveAs('filled_form.pdf');
Pdf.Active := False;

Сплющення заповненої форми

// Вбудувати значення форми в постійний вміст сторінки, який не можна редагувати
Pdf.FileName := 'form.pdf';
Pdf.Active := True;
Pdf.FormField[0] := 'John Smith';
Pdf.FormField[1] := 'Yes';
Pdf.GenerateFormAppearances;          // крок 1: оновити /AP з /V
Pdf.FlattenAllPages(FLAT_NORMALDISPLAY); // крок 2: сплющити всі сторінки
Pdf.SaveAs('flattened.pdf');           // крок 3: зберегти
Pdf.Active := False;