Winsoft PDF Library for Android v2.4 Full Source for Delphi/C++ Builder 10 - 11
Winsoft PDF Library for Android v2.4 Full Source for Delphi/C++ Builder 10 - 11
Delphi and C++ Builder library for creating, processing and rendering PDF documents.
Features
Uses PdfBox-Android library
Available for Delphi/C++ Builder 10 - 11
Royalty free distribution in applications
type
EPdfLibraryError = class(Exception);
TPdfAppendMode = (Append, Overwrite, Prepend);
TPdfFields = array of TPdfField;
TPdfLineCapStyle = (Butt, Round, Square);
TPdfLineJoinStyle = (Miter, Round, Bevel);
TPdfPermission = (Print, Modify, ExtractContent, ModifyAnotations, FillForm,
ExtractForAccessibility, Assemble, PrintDegraded);
TPdfPermissions = set of TPdfPermission;
TPdfRotation = (ro0 = 0, ro90 = 90, ro180 = 180, ro270 = 270);
TPdfDocument = class
constructor Create;
constructor Create(const FileName: string; const Password: string = '');
function AddPage: TPdfPage;
function AddPage(const MediaBox: TRectF): TPdfPage;
function ImportPage(Page: TPdfPage): TPdfPage;
function LoadFont(const FileName: string): TPdfFont;
function LoadFontAsset(const FileName: string; Subset: Boolean = True): TPdfFont;
procedure RemovePage(Page: TPdfPage);
procedure RemovePage(Index: Integer);
function RenderPage(Index: Integer; Scale: Single = 1.0): TBitmap;
procedure Save(const FileName: string);
property AcroForm: JPDAcroForm read;
property Author: string read write;
property CreationDate: TDateTime read write;
property Creator: string read write;
property CustomMetadata[const FieldName: string]: string read write;
property Document: JPDDocument read;
property DocumentCatalog: JPDDocumentCatalog read;
property Encrypted: Boolean read;
property Fields[const Name: string]: TPdfField read;
property Id: Int64 read write;
property Information: JPDDocumentInformation read;
property Keywords: string read write;
property ModificationDate: TDateTime read write;
property PageCount: Integer read;
property PageTree: JPDPageTree read;
property Pages[Index: Integer]: TPdfPage read;
property Permissions: TPdfPermissions read write;
property Producer: string read write;
property RootFields: TPdfFields read;
property Subject: string read write;
property Text: string read;
property Title: string read write;
property Version: Single read write;
end;
TPdfPage = class
function CreateContentStream(AppendMode: TPdfAppendMode = TPdfAppendMode.Overwrite; Compress: Boolean = True; ResetContext: Boolean = False): TPdfPageContentStream;
property ArtBox: TRectF read write;
property BleedBox: TRectF read write;
property CropBox: TRectF read write;
property Document: TPdfDocument read;
property MediaBox: TRectF read write;
property Page: JPDPage read;
property PageIndex: Integer read;
property Rotation: TPdfRotation read write;
property Text: string read;
property TrimBox: TRectF read write;
end;
TPdfField = class
property AlternateName: string read write;
property Document: TPdfDocument read;
property Export: Boolean read write;
property Field: JPDField read;
property FieldType: string read;
property FullName: string read;
property MappingName: string read write;
property PartialName: string read write;
property ReadOnly: Boolean read write;
property Required: Boolean read write;
property Value: string read;
end;
TPdfPageContentStream = class
procedure BeginText;
procedure Clip;
procedure ClipEvenOdd;
procedure Close;
procedure CloseAndStroke;
procedure ClosePath;
procedure CurveTo(X1, Y1, X2, Y2, X3, Y3: Single);
procedure CurveTo(const Point1, Point2, Point3: TPointF);
procedure CurveTo1(X1, Y1, X3, Y3: Single);
procedure CurveTo1(const Point1, Point3: TPointF);
procedure CurveTo2(X2, Y2, X3, Y3: Single);
procedure CurveTo2(const Point2, Point3: TPointF);
procedure EndText;
procedure Fill;
procedure FillEvenOdd;
procedure Font(Font: TPdfFont; Size: Single);
procedure Image(Bitmap: JBitmap; X, Y: Single);
procedure Image(Bitmap: JBitmap; const Point: TPointF);
procedure Image(Bitmap: JBitmap; const Rect: TRectF);
procedure Image(Bitmap: TBitmap; X, Y: Single);
procedure Image(Bitmap: TBitmap; const Point: TPointF);
procedure Image(Bitmap: TBitmap; const Rect: TRectF);
procedure Image(const FileName: string; X, Y: Single);
procedure Image(const FileName: string; const Point: TPointF);
procedure Image(const FileName: string; const Rect: TRectF);
procedure MoveTo(X, Y: Single);
procedure MoveTo(const Point: TPointF);
procedure NewLine;
procedure NewLineAtOffset(OffsetX, OffsetY: Single);
procedure Leading(Leading: Single);
procedure LineCapStyle(LineCapStyle: TPdfLineCapStyle);
procedure LineDashPattern(Pattern: TSingleDynArray; Phase: Single = 0.0);
procedure LineJoinStyle(LineJoinStyle: TPdfLineJoinStyle);
procedure LineTo(X, Y: Single);
procedure LineTo(const Point: TPointF);
procedure LineWidth(Width: Single);
procedure NonStrokingColor(Color: TAlphaColor);
procedure Rectangle(const Rect: TRectF);
procedure RestoreGraphicsState;
procedure SaveGraphicsState;
procedure Stroke;
procedure StrokingColor(Color: TAlphaColor);
procedure Text(const Text: string);
procedure Transform(Matrix: TPdfMatrix);
procedure TransformText(Matrix: TPdfMatrix);
property Page: TPdfPage read FPage;
property Stream: JPDPageContentStream read FStream;
end;
TPdfFont = class
property AverageWidth: Single read;
property Embedded: Boolean read;
property Font: JPDFont read;
property Name: string read;
property SpaceWidth: Single read;
property Standard14: Boolean read;
property SubType: string read;
property &Type: string read;
property Vertical: Boolean read;
function TextWidth(const Text: string): Single;
function ToUnicode(Code: Integer): string;
class property Courier: TPdfFont read;
class property CourierBold: TPdfFont read;
class property CourierBoldOblique: TPdfFont read;
class property CourierOblique: TPdfFont read;
class property Helvetica: TPdfFont read;
class property HelveticaBold: TPdfFont read;
class property HelveticaBoldOblique: TPdfFont read;
class property HelveticaOblique: TPdfFont read;
class property Symbol: TPdfFont read;
class property TimesBold: TPdfFont read;
class property TimesBoldItalic: TPdfFont read;
class property TimesItalic: TPdfFont read;
class property TimesRoman: TPdfFont read;
class property ZapfDingbats: TPdfFont read;
end;
TPdfPageSize = class
class property A0: TRectF read;
class property A1: TRectF read;
class property A2: TRectF read;
class property A3: TRectF read;
class property A4: TRectF read;
class property A5: TRectF read;
class property A6: TRectF read;
class property Legal: TRectF read;
class property Letter: TRectF read;
end;
TPdfMatrix = class
constructor Create;
constructor Create(A, B, C, D, E, F: Single);
procedure Concatenate(Matrix: TPdfMatrix);
procedure Rotate(Angle: Single);
procedure Scale(X, Y: Single);
procedure Translate(X, Y: Single);
property Matrix: JMatrix1 read;
property ScaleX: Single read;
property ScaleY: Single read;
property ShearX: Single read;
property ShearY: Single read;
property TranslateX: Single read;
property TranslateY: Single read;
end;
procedure Initialize;
EPdfLibraryError = class(Exception);
TPdfAppendMode = (Append, Overwrite, Prepend);
TPdfFields = array of TPdfField;
TPdfLineCapStyle = (Butt, Round, Square);
TPdfLineJoinStyle = (Miter, Round, Bevel);
TPdfPermission = (Print, Modify, ExtractContent, ModifyAnotations, FillForm,
ExtractForAccessibility, Assemble, PrintDegraded);
TPdfPermissions = set of TPdfPermission;
TPdfRotation = (ro0 = 0, ro90 = 90, ro180 = 180, ro270 = 270);
TPdfDocument = class
constructor Create;
constructor Create(const FileName: string; const Password: string = '');
function AddPage: TPdfPage;
function AddPage(const MediaBox: TRectF): TPdfPage;
function ImportPage(Page: TPdfPage): TPdfPage;
function LoadFont(const FileName: string): TPdfFont;
function LoadFontAsset(const FileName: string; Subset: Boolean = True): TPdfFont;
procedure RemovePage(Page: TPdfPage);
procedure RemovePage(Index: Integer);
function RenderPage(Index: Integer; Scale: Single = 1.0): TBitmap;
procedure Save(const FileName: string);
property AcroForm: JPDAcroForm read;
property Author: string read write;
property CreationDate: TDateTime read write;
property Creator: string read write;
property CustomMetadata[const FieldName: string]: string read write;
property Document: JPDDocument read;
property DocumentCatalog: JPDDocumentCatalog read;
property Encrypted: Boolean read;
property Fields[const Name: string]: TPdfField read;
property Id: Int64 read write;
property Information: JPDDocumentInformation read;
property Keywords: string read write;
property ModificationDate: TDateTime read write;
property PageCount: Integer read;
property PageTree: JPDPageTree read;
property Pages[Index: Integer]: TPdfPage read;
property Permissions: TPdfPermissions read write;
property Producer: string read write;
property RootFields: TPdfFields read;
property Subject: string read write;
property Text: string read;
property Title: string read write;
property Version: Single read write;
end;
TPdfPage = class
function CreateContentStream(AppendMode: TPdfAppendMode = TPdfAppendMode.Overwrite; Compress: Boolean = True; ResetContext: Boolean = False): TPdfPageContentStream;
property ArtBox: TRectF read write;
property BleedBox: TRectF read write;
property CropBox: TRectF read write;
property Document: TPdfDocument read;
property MediaBox: TRectF read write;
property Page: JPDPage read;
property PageIndex: Integer read;
property Rotation: TPdfRotation read write;
property Text: string read;
property TrimBox: TRectF read write;
end;
TPdfField = class
property AlternateName: string read write;
property Document: TPdfDocument read;
property Export: Boolean read write;
property Field: JPDField read;
property FieldType: string read;
property FullName: string read;
property MappingName: string read write;
property PartialName: string read write;
property ReadOnly: Boolean read write;
property Required: Boolean read write;
property Value: string read;
end;
TPdfPageContentStream = class
procedure BeginText;
procedure Clip;
procedure ClipEvenOdd;
procedure Close;
procedure CloseAndStroke;
procedure ClosePath;
procedure CurveTo(X1, Y1, X2, Y2, X3, Y3: Single);
procedure CurveTo(const Point1, Point2, Point3: TPointF);
procedure CurveTo1(X1, Y1, X3, Y3: Single);
procedure CurveTo1(const Point1, Point3: TPointF);
procedure CurveTo2(X2, Y2, X3, Y3: Single);
procedure CurveTo2(const Point2, Point3: TPointF);
procedure EndText;
procedure Fill;
procedure FillEvenOdd;
procedure Font(Font: TPdfFont; Size: Single);
procedure Image(Bitmap: JBitmap; X, Y: Single);
procedure Image(Bitmap: JBitmap; const Point: TPointF);
procedure Image(Bitmap: JBitmap; const Rect: TRectF);
procedure Image(Bitmap: TBitmap; X, Y: Single);
procedure Image(Bitmap: TBitmap; const Point: TPointF);
procedure Image(Bitmap: TBitmap; const Rect: TRectF);
procedure Image(const FileName: string; X, Y: Single);
procedure Image(const FileName: string; const Point: TPointF);
procedure Image(const FileName: string; const Rect: TRectF);
procedure MoveTo(X, Y: Single);
procedure MoveTo(const Point: TPointF);
procedure NewLine;
procedure NewLineAtOffset(OffsetX, OffsetY: Single);
procedure Leading(Leading: Single);
procedure LineCapStyle(LineCapStyle: TPdfLineCapStyle);
procedure LineDashPattern(Pattern: TSingleDynArray; Phase: Single = 0.0);
procedure LineJoinStyle(LineJoinStyle: TPdfLineJoinStyle);
procedure LineTo(X, Y: Single);
procedure LineTo(const Point: TPointF);
procedure LineWidth(Width: Single);
procedure NonStrokingColor(Color: TAlphaColor);
procedure Rectangle(const Rect: TRectF);
procedure RestoreGraphicsState;
procedure SaveGraphicsState;
procedure Stroke;
procedure StrokingColor(Color: TAlphaColor);
procedure Text(const Text: string);
procedure Transform(Matrix: TPdfMatrix);
procedure TransformText(Matrix: TPdfMatrix);
property Page: TPdfPage read FPage;
property Stream: JPDPageContentStream read FStream;
end;
TPdfFont = class
property AverageWidth: Single read;
property Embedded: Boolean read;
property Font: JPDFont read;
property Name: string read;
property SpaceWidth: Single read;
property Standard14: Boolean read;
property SubType: string read;
property &Type: string read;
property Vertical: Boolean read;
function TextWidth(const Text: string): Single;
function ToUnicode(Code: Integer): string;
class property Courier: TPdfFont read;
class property CourierBold: TPdfFont read;
class property CourierBoldOblique: TPdfFont read;
class property CourierOblique: TPdfFont read;
class property Helvetica: TPdfFont read;
class property HelveticaBold: TPdfFont read;
class property HelveticaBoldOblique: TPdfFont read;
class property HelveticaOblique: TPdfFont read;
class property Symbol: TPdfFont read;
class property TimesBold: TPdfFont read;
class property TimesBoldItalic: TPdfFont read;
class property TimesItalic: TPdfFont read;
class property TimesRoman: TPdfFont read;
class property ZapfDingbats: TPdfFont read;
end;
TPdfPageSize = class
class property A0: TRectF read;
class property A1: TRectF read;
class property A2: TRectF read;
class property A3: TRectF read;
class property A4: TRectF read;
class property A5: TRectF read;
class property A6: TRectF read;
class property Legal: TRectF read;
class property Letter: TRectF read;
end;
TPdfMatrix = class
constructor Create;
constructor Create(A, B, C, D, E, F: Single);
procedure Concatenate(Matrix: TPdfMatrix);
procedure Rotate(Angle: Single);
procedure Scale(X, Y: Single);
procedure Translate(X, Y: Single);
property Matrix: JMatrix1 read;
property ScaleX: Single read;
property ScaleY: Single read;
property ShearX: Single read;
property ShearY: Single read;
property TranslateX: Single read;
property TranslateY: Single read;
end;
procedure Initialize;
What's new
Version 2.4
updated PdfBox-Android library
Version 2.3
updated PdfBox-Android library
Version 2.2
updated PdfBox-Android library
changed TPdfPageContentStream.Leading parameter type to Single
Version 2.1
updated PdfBox-Android library
Version 2.0
added Delphi/C++ Builder 11 files
Version 2.4
updated PdfBox-Android library
Version 2.3
updated PdfBox-Android library
Version 2.2
updated PdfBox-Android library
changed TPdfPageContentStream.Leading parameter type to Single
Version 2.1
updated PdfBox-Android library
Version 2.0
added Delphi/C++ Builder 11 files
Only for V.I.P
Warning! You are not allowed to view this text.