Pdf.FileName := 'document.pdf';
Pdf.Password := 'password';
Pdf.Active := True; // open PDF document
Pdf.PageNumber := 1; // select page
ShowMessage(Pdf.Text); // extract text
type TBookmark = record
Handle: FPDF_BOOKMARK;
Title: WString;
PageNumber: Integer;
Action: TPdfAction;
ActionPageNumber: Integer;
end;
type TBookmarks = array of TBookmark;
Bookmark data.
type TDestination = record
Handle: FPDF_DEST;
Name: WString;
PageNumber: Integer;
HasX: Boolean;
X: Single;
HasY: Boolean;
Y: Single;
HasZoom: Boolean;
Zoom: Single;
end;
Named destination data.
type TLinkAnnotation = record
Handle: FPDF_LINK;
Rectangle: TPdfRectangle;
PageNumber: Integer;
Action: TPdfAction;
ActionPageNumber: Integer;
ActionPath: WString;
Points: array of TQuadrilateralPoint;
end;
type TLinkAnnotations = array of TLinkAnnotation;
type TQuadrilateralPoint = array [1..4] of TPdfPoint;
Link annotation data.
type TObjectType = (otUnknown, otText, otPath, otImage, otShading, otForm);
Determines type of the PDF object.
type TPageMode = (pmNone, pmOutline, pmThumbs, pmFullScreen, pmOptionalContentGroup, pmAttachments, pmUnknown);
Determines how the PDF document should be displayed when opened.
type TPdfAction = (acUnsupported, acGoto, acGotoRemote, acUri, acLaunch);
Determines type of an action associated with a bookmark item.
type TPdfAnnotation = record
Subtype: TPdfAnnotationSubtype;
Flags: TPdfAnnotationFlags;
HasColor: Boolean;
Colour: TColor;
ColorAlpha: Byte;
HasInteriorColor: Boolean;
InteriorColor: TColor;
InteriorColorAlpha: Byte;
HasAttachmentPoints: Boolean;
AttachmentPoints: TQuadrilateralPoint;
Rectangle: TPdfRectangle;
ContentsText: WString;
AuthorText: WString;
end;
Annotation data.
type TPdfAnnotationFlag = (afInvisible, afHidden, afPrint, afNoZoom, afNoRotate, afNoView, afReadOnly, afLocked, afToggleNoView);
type TPdfAnnotationFlags = set of TPdfAnnotationFlag;
Annotation flags.
type TPdfAnnotationSubtype = (anUnknown, anText, anLink, anFreeText, anLine, anSquare, anCircle, anPolygon, anPolyLine, anHighlight, anUnderline, anSquiggly, anStrikeout, anStamp, anCaret, anInk, anPopup, anFileAttachment, anSound, anMovie, anWidget, anScreen, anPrinterMark, anTrapNet, anWaterMark, anThreed, anRichMedia, anXfaWidget, anRedact);
The annotation subtype.
type TPdfBlendMode = (bmDefault, bmColor, bmColorBurn, bmColorDodge, bmDarken, bmDifference, bmExclusion, bmHardLight, bmHue, bmLighten, bmLuminosity, bmMultiply, bmNormal, bmOverlay, bmSaturation, bmScreen, bmSoftLight);
Determines how layers are blended into each other.
type TPdfDisplayMode = (dmSingleContinuous, dmTwoPageContinuous, dmTwoPageContinuousWithCover);
Determines how the PDF document pages are displayed.
type TPdfFeature = (feUnknown, feXfaForm, fePortableCollection, feAttachment, feSecurity, feSharedReview, feSharedFormAcrobat, feSharedFormFilesystem, feSharedFormEmail, fe3dAnnotation, feMovieAnnotation, feSoundAnnotation, feScreenMediaAnnotation, feScreenRichMediaAnnotation, feAttachmentAnnotation, feSignatureAnnotation);
Feature of PDF document reported by OnUnsupportedFeature event.
type TPdfFillMode = (fmNone, fmAlternate, fmWinding);
Determines how fill areas are formed when path intersects itself.
type TPdfFormFieldFlag = (ffReadOnly, ffRequired, ffNoExport, ffMultiline, ffChoiceCombo, ffChoiceEdit, ffPassword, ffChoiceMultiSelect);
type TPdfFormFieldFlags = set of TPdfFormFieldFlag;
Form field flags.
type TPdfFormFieldInfo = record
Name: WString;
AlternateName: WString;
FieldType: TPdfFormFieldType;
Flags: TPdfFormFieldFlags;
OptionLabels: array of WString;
OptionSelected: array of Boolean;
FontSize: Single;
Checked: Boolean;
ExportValue: WString;
GroupCount: Integer;
GroupIndex: Integer;
end;
Form field information.
type TPdfFormFieldType = (fiUnknown, fiPushButton, fiCheckBox, fiRadioButton, fiComboBox, fiListBox, fiTextField, fiSignature);
Determines the type of the form field.
type TPdfFormType = (ftUnknown, ftNone, ftAcroForm, ftXfaFull, ftXfaForeground);
Determines type of forms in the PDF document.
type TPdfImage = record
Width: Integer;
Height: Integer;
Data: TBytes;
end;
Size in pixels and data of the PDF image object.
type TPdfLineCap = (lcDefault, lcButt, lcRound, lcProjectingSquare);
The shape to be used at the ends of open subpaths.
type TPdfLineJoin = (ljDefault, ljMiter, ljRound, ljBevel);
The shape to be used at the corners of paths that are stroked.
type TPdfPoint = record
X, Y: Double;
end;
Point with X and Y coordinates.
type TPdfRectangle = record
Left, Top, Right, Bottom: Double;
end;
type TPdfRectangles = array of TPdfRectangle;
Rectangle area with Left, Top, Right and Bottom coordinates.
type TPdfFileIdentifierType = (fidPermanent, fidChanging);
Trailer file identifier selector. fidPermanent reads the first /ID entry and fidChanging reads the second /ID entry.
type TPdfPageBox = (pbMedia, pbCrop, pbBleed, pbTrim, pbArt);
Page dictionary box selector used by PageBox, GetPageBox, and SetPageBox.
type TPdfJavaScriptAction = record
Name: WString;
Script: WString;
end;
type TPdfJavaScriptActions = array of TPdfJavaScriptAction;
Document-level JavaScript name-tree action data.
type TPdfSignature = record
Content: TBytes;
Encoding: WString;
Reason: WString;
Time: WString;
Permission: Integer;
end;
Digital signature information.
type TPdfIntegerArray = array of Integer;
Integer array used by structure-tree marked-content ID lists.
type TPdfSingleArray = array of Single;
Single-precision floating-point array used by text object character position setters.
type TPdfPrintPageRange = record
StartPage: Integer;
EndPage: Integer;
end;
type TPdfPrintPageRanges = array of TPdfPrintPageRange;
One-based print page ranges from the document viewer preferences.
type TPdfStructureElement = record
Level: Integer;
ParentIndex: Integer;
TypeName: WString;
ObjectType: WString;
Title: WString;
AlternateText: WString;
ActualText: WString;
Expansion: WString;
ID: WString;
Language: WString;
MarkedContentID: Integer;
MarkedContentIDs: TPdfIntegerArray;
ChildCount: Integer;
ChildMarkedContentIDs: TPdfIntegerArray;
AttributeCount: Integer;
end;
type TPdfStructureElements = array of TPdfStructureElement;
Flattened logical structure element data for tagged PDF pages.
type TPdfVersion = (pvUnknown, pv10, pv11, pv12, pv13, pv14, pv15, pv16, pv17);
The version of a PDF file or an explicit SaveAs target. Possible values are: unknown version, PDF version 1.0 to 1.7. Explicit SaveAs targets from PDF 1.3 through PDF 1.7 are normalised and validated against the selected PDF version.
type TPrintPaperHandling = (phUndefined, phSimplex, phDuplexFlipShortEdge, phDuplexFlipLongEdge);
Print paper handling options.
type TPdfPrintMode = (prEmf, prTextOnly, prPostScript2, prPostScript3, prPostScript2PassThrough, prPostScript3PassThrough, prEmfImageMasks, prPostScript3Type42, prPostScript3Type42PassThrough);
Windows PDFium print output mode selected by SetPdfPrintMode.
type TRenderOption = (reAnnotations, reLcd, reNoNativeText, reGrayscale, reDebugInfo, reNoCatchException, reLimitCache, reHalftone, rePrinting, reReverseByteOrder, reNoSmoothText, reNoSmoothImage, reNoSmoothPath);
type TRenderOptions = set of TRenderOption;
Page rendering flags.
type TRotation = (ro0, ro90, ro180, ro270);
The PDF page rotation. The page rotation is rotated clockwise.
type TSaveOption = (saNone, saIncremental, saNoIncremental, saRemoveSecurity);
Determines how the PDF document will be saved.
type TSearchOption = (seCaseSensitive, seWholeWord, seConsecutive);
type TSearchOptions = set of TSearchOption;
Search flags.
type TWebLink = record
Url: WString;
Rectangles: TPdfRectangles;
end;
type TWebLinks = array of TWebLink;
URL information and boundaries for the web link.
type WString = {$ifdef D2009PLUS} string {$else} WideString {$endif D2009PLUS};
Wide string.
const PointsPerInch: Integer = 72;
PDF uses points with a density of 72 points per inch.
const FLAT_NORMALDISPLAY = 0;
const FLAT_PRINT = 1;
Flattening profiles passed to FlattenPage / FlattenAllPages. FLAT_NORMALDISPLAY targets screen display; FLAT_PRINT targets printed output.
const FLATTEN_FAIL = 0;
const FLATTEN_SUCCESS = 1;
const FLATTEN_NOTHINGTODO = 2;
Result codes returned by FlattenPage.
var LibraryName: string = 'pdfium.dll';
Name of the standard PDFium library used when EnableV8Engine is False. Can be changed before calling LoadLibrary.
var EnableV8Engine: Boolean = False;
Set to True before loading to select pdfium.v8.dll from the matching Win32 or Win64 DLLs folder.