@syncfusion/ej2-pdfviewer
Version:
Essential JS 2 PDF viewer Component
730 lines (729 loc) • 20.4 kB
TypeScript
import { PdfAnnotationBorder, PdfDocument, PdfPage, PdfSquareAnnotation, PdfPopupAnnotation, PdfLineAnnotation, PdfFont, PdfFontStyle, PdfFontFamily, PdfRubberStampAnnotation, PdfPath, PdfPolyLineAnnotation, PdfFreeTextAnnotation, PdfPolygonAnnotation, PdfEllipseAnnotation, PdfTextMarkupAnnotation, PdfInkAnnotation } from '@syncfusion/ej2-pdf';
import { PdfViewer, PdfViewerBase, SizeBase, PageRenderer } from '../index';
/**
* AnnotationRenderer
*
* @hidden
*/
export declare class AnnotationRenderer {
private formats;
private pdfViewer;
private pdfViewerBase;
private defaultWidth;
private defaultHeight;
m_renderer: PageRenderer;
/**
* @param {PdfViewer} pdfViewer - The PdfViewer.
* @param {PdfViewerBase} pdfViewerBase - The PdfViewerBase.
* @private
*/
constructor(pdfViewer: PdfViewer, pdfViewerBase: PdfViewerBase);
/**
* @param {any} details - details
* @param {PdfPage} page - page
* @private
* @returns {void}
*/
addShape(details: any, page: PdfPage): void;
/**
* @private
* @param {any} details - details
* @param {PdfPage} page - page
* @returns {void}
*/
saveInkSignature(details: any, page: PdfPage): PdfInkAnnotation;
/**
* @private
* @param {number[]} linePoints - points
* @param {number} rotationAngle - rotateAngle
* @returns {PdfPath} - graphicsPath
*/
getRotatedPath(linePoints: number[], rotationAngle: number): PdfPath;
private getRotationMatrix;
private getRotatedPoints;
/**
* Rotates a path based on the provided points collection and rotation angle.
* @param {number[]} pointsCollection - The collection of points to be rotated.
* @param {number} rotationAngle - The angle to rotate the points, in degrees.
* @returns {Path} - The rotated graphics path.
* @private
*/
getRotatedPathForMinMax(pointsCollection: number[][], rotationAngle: number): Path;
/**
* @param {any} details -details
* @param {PdfDocument} loadedDocument - loadedDocument
* @private
* @returns {void}
*/
addTextMarkup(details: any, loadedDocument: PdfDocument): void;
/**
* @private
* @param {PdfPage} page - page
* @param {boolean} isPath - path
* @returns {PointBase} - points
*/
getCropBoxValue(page: PdfPage, isPath: boolean): PointBase;
private getBothCropBoxValue;
private preserveIsLockProperty;
/**
* @private
* @param {any} details - details
* @param {PdfPage} page - page
* @returns {void}
*/
addCustomStampAnnotation(details: any, page: PdfPage): void;
/**
* @param {any} details - details
* @param {PdfPage} page - page
* @private
* @returns {void}
*/
addMeasure(details: any, page: PdfPage): void;
/**
* @param {any} details - details
* @param {PdfPage} page - page
* @private
* @returns {void}
*/
addStickyNotes(details: any, page: PdfPage): void;
private static hasDynamicText;
private static setFontFromKeys;
/**
* @param {any} details - details
* @param {PdfPage} page - page
* @param {string} textFont - textFont
* @private
* @returns {void}
*/
addFreeText(details: any, page: PdfPage, textFont?: {
[key: string]: any;
}): void;
private renderSignHereStamp;
private retriveDefaultWidth;
private renderDynamicStamp;
private calculateBoundsXY;
private setMeasurementUnit;
private getRubberStampRotateAngle;
private getFontFamily;
private getFontStyle;
private getPdfTextAlignment;
private drawStampAsPath;
private transformPoints;
private transform;
private getIconName;
private addCircleMeasurementAnnotation;
private setMeasureDictionary;
private createNumberFormat;
private checkAnnotationLock;
private getSaveVertexPoints;
private getLineEndingStyle;
private getCaptionType;
private addReviewCollections;
private addCommentsCollection;
private getReviewState;
private convertPixelToPoint;
private convertPointToPixel;
private isTransparentColor;
private getRDValues;
private getRotateAngle;
/**
* @private
* @param {string} angleString - height
* @returns {number} - angle
*/
getInkRotateAngle(angleString: string): number;
/**
* @private
* @param {PdfInkAnnotation} inkAnnot - inkAnnot
* @param {number} height - height
* @param {number} width - width
* @param {number} pageRotation - pageRotation
* @param {number} pageNumber - pageNumber
* @param {PdfPage} loadedPage - loadedPage
* @returns {void}
*/
loadSignature(inkAnnot: PdfInkAnnotation, height: number, width: number, pageRotation: number, pageNumber: number, loadedPage: PdfPage): SignatureAnnotationBase;
/**
* @private
* @param {PdfInkAnnotation} inkAnnot - inkAnnot
* @param {number} height - height
* @param {number} width - width
* @param {number} pageRotation - PageRotation
* @param {number} pageNumber - number
* @param {PdfPage} loadedPage - loadedPage
* @returns {void}
*/
loadInkAnnotation(inkAnnot: PdfInkAnnotation, height: number, width: number, pageRotation: number, pageNumber: number, loadedPage: PdfPage): InkSignatureAnnotation;
/**
* @param {PdfSquareAnnotation} squareAnnot - squareAnnot
* @param {number} height - height
* @param {number} width - width
* @param {number} pageRotation - pageRotation
* @param {PdfFreeTextAnnotation} shapeFreeText - shapeFreeText
* @private
* @returns {void}
*/
loadSquareAnnotation(squareAnnot: PdfSquareAnnotation, height: number, width: number, pageRotation: number, shapeFreeText: PdfFreeTextAnnotation): ShapeAnnotationBase;
/**
* @param {PdfLineAnnotation} lineAnnot - lineAnnot
* @param {number} height - height
* @param {number} width - width
* @param {number} pageRotation - pageRotation
* @param {PdfFreeTextAnnotation} shapeFreeText - shapeFreeText
* @private
* @returns {void}
*/
loadLineAnnotation(lineAnnot: PdfLineAnnotation, height: number, width: number, pageRotation: number, shapeFreeText: PdfFreeTextAnnotation): ShapeAnnotationBase;
private getLinePoints;
/**
* @param {PdfEllipseAnnotation} ellipseAnnot - ellipseAnnot
* @param {number} height - height
* @param {number} width - width
* @param {number} pageRotation - pageRotation
* @param {PdfFreeTextAnnotation} shapeFreeText - shapeFreeTezt
* @private
* @returns {void}
*/
loadEllipseAnnotation(ellipseAnnot: PdfEllipseAnnotation, height: number, width: number, pageRotation: number, shapeFreeText: PdfFreeTextAnnotation): ShapeAnnotationBase;
/**
* @param {PdfPolygonAnnotation} polygonAnnot - polygonAnnot
* @param {number} height - height
* @param {number} width - width
* @param {number} pageRotation - pageRotation
* @param {PdfFreeTextAnnotation} shapeFreeText - shapeFreeText
* @private
* @returns {void}
*/
loadPolygonAnnotation(polygonAnnot: PdfPolygonAnnotation, height: number, width: number, pageRotation: number, shapeFreeText: PdfFreeTextAnnotation): ShapeAnnotationBase;
/**
* @param {PdfPolyLineAnnotation} polyLineAnnot - polyLineAnnot
* @param {number} height -height
* @param {number} width - width
* @param {number} pageRotation - pageRotation
* @param {PdfFreeTextAnnotation} shapeFreeText - shapeFreeText
* @private
* @returns {void}
*/
loadPolylineAnnotation(polyLineAnnot: PdfPolyLineAnnotation, height: number, width: number, pageRotation: number, shapeFreeText: PdfFreeTextAnnotation): ShapeAnnotationBase;
/**
* @private
* @param {PdfRubberStampAnnotation} annotation - annotation
* @param {number} pageNumber - pageNumber
* @returns {void}
*/
loadSignatureImage(annotation: PdfRubberStampAnnotation, pageNumber: number): SignatureAnnotationBase;
private getMeasureObject;
private getMeasureValues;
private getVertexPoints;
private getLineIndentString;
private getLineEndingStyleString;
private getBorderStylesString;
private getBorderStyle;
private getRotateAngleString;
private getValidNoteContent;
private getBounds;
/**
* @private
* @param {PdfPopupAnnotation} popupAnnot - popupAnnot
* @param {number} height - height
* @param {number} width - width
* @param {number} pageRotation - pageRotation
* @returns {void}
*/
loadPopupAnnotation(popupAnnot: PdfPopupAnnotation, height: number, width: number, pageRotation: number): PopupAnnotationBase;
/**
* @param {PdfFreeTextAnnotation} freeTextAnnot - freeTextAnnot
* @param {number} height - height
* @param {number} width - width
* @param {number} pageRotation - pageRotation
* @param {PdfPage} page - page
* @private
* @returns {void}
*/
loadFreeTextAnnotation(freeTextAnnot: PdfFreeTextAnnotation, height: number, width: number, pageRotation: number, page: PdfPage): FreeTextAnnotationBase;
private getTextAlignmentString;
/**
* @param {PdfFreeTextAnnotation} inkAnnot - inkAnnot
* @param {number} pageNumber - pageNumber
* @param {number} height - height
* @param {number} width - width
* @param {number} pageRotation - pageRotation
* @private
* @returns {void}
*/
loadSignatureText(inkAnnot: PdfFreeTextAnnotation, pageNumber: number, height: number, width: number, pageRotation: number): SignatureAnnotationBase;
private getFontFamilyString;
private getAnnotationFlagsString;
private getAnnotationIntentString;
private getStateString;
private getStateModelString;
private getPopupIconString;
private formatDate;
private datePadding;
/**
* @param {string} jsonObject - jsonObject
* @param {PdfDocument} loadedDocument - loadedDocument
* @private
* @returns {void}
*/
removeSignatureTypeAnnot(jsonObject: {
[key: string]: string;
}, loadedDocument: PdfDocument): void;
/**
* @private
* @param {any} annotation - annotation
* @param {any} AnnotFromPDF - AnnotFromPDF
* @returns {void}
*/
updateIsLockProperty(annotation: any, AnnotFromPDF: any): void;
/**
* @param {PdfTextMarkupAnnotation} textMarkup - textMarkup
* @param {number} height - height
* @param {number} width - width
* @param {number} pageRotation - pageRotation
* @param {PdfPage} page - page
* @private
* @returns {void}
*/
loadTextMarkupAnnotation(textMarkup: PdfTextMarkupAnnotation, height: number, width: number, pageRotation: number, page: PdfPage): TextMarkupAnnotationBase;
private getTextMarkupBounds;
private getMarkupAnnotTypeString;
}
/**
*
* @hidden
*/
export declare class PointBase {
x: number;
y: number;
constructor(x: number, y: number);
}
/**
*
* @hidden
*/
export declare class FreeTextAnnotationBase {
Author: string;
AnnotationSelectorSettings: any;
MarkupText: string;
TextMarkupColor: string;
Color: AnnotColor;
Font: FontBase;
BorderColor: AnnotColor;
Border: PdfAnnotationBorder;
LineEndingStyle: string;
AnnotationFlags: string;
IsCommentLock: boolean;
IsLocked: boolean;
Text: string;
Opacity: number;
CalloutLines: AnnotPoint[];
ModifiedDate: string;
AnnotName: string;
AnnotType: string;
Name: string;
Comments: PopupAnnotationBase[];
AnnotationIntent: string;
CreatedDate: string;
Flatten: boolean;
FlattenPopups: boolean;
InnerColor: string;
Layer: PdfLayer;
Location: string;
Page: PdfPage;
PageTags: string;
ReviewHistory: string;
Rotate: number;
Size: SizeBase;
Subject: string;
State: string;
StateModel: string;
StrokeColor: string;
FillColor: string;
Thickness: number;
FontColor: string;
FontSize: number;
FontFamily: string;
FreeTextAnnotationType: string;
TextAlign: string;
Note: string;
CustomData: {
[key: string]: any;
};
AnnotationSettings: any;
AllowedInteractions: string[];
IsPrint: boolean;
IsReadonly: boolean;
ExistingCustomData: string;
Bounds: AnnotBounds;
PageRotation: number;
IsTransparentSet: boolean;
}
/**
*
* @hidden
*/
export declare class InkSignatureAnnotation {
Bounds: any;
AnnotationType: string;
CustomData: {
[key: string]: any;
};
Opacity: number;
StrokeColor: string;
Thickness: number;
PathData: string;
IsLocked: boolean;
IsCommentLock: boolean;
PageNumber: number;
AnnotName: string;
Author: string;
ModifiedDate: string;
Subject: string;
Note: string;
State: string;
StateModel: string;
AnnotationSelectorSettings: any;
AnnotationSettings: any;
AllowedInteractions: string[];
Comments: PopupAnnotationBase[];
AnnotType: string;
IsPrint: boolean;
ExistingCustomData: string;
constructor();
}
/**
*
* @hidden
*/
export declare class ShapeAnnotationBase {
ShapeAnnotationType: string;
Author: string;
AnnotationSelectorSettings: any;
ModifiedDate: string;
Subject: string;
Note: string;
IsCommentLock: boolean;
StrokeColor: string;
FillColor: string;
Opacity: number;
Bounds: any;
Thickness: number;
BorderStyle: string;
BorderDashArray: number;
RotateAngle: string;
IsCloudShape: boolean;
CloudIntensity: number;
RectangleDifference: string[];
VertexPoints: AnnotPoint[];
LineHeadStart: string;
LineHeadEnd: string;
IsLocked: boolean;
AnnotName: string;
Comments: PopupAnnotationBase[];
State: string;
StateModel: string;
AnnotType: string;
EnableShapeLabel: boolean;
LabelContent: string;
LabelFillColor: string;
LabelBorderColor: string;
FontColor: string;
FontSize: number;
CustomData: {
[key: string]: any;
};
LabelBounds: AnnotBounds;
LabelSettings: any;
AnnotationSettings: any;
AllowedInteractions: string[];
IsPrint: boolean;
ExistingCustomData: string;
AnnotationRotation: number;
constructor();
}
/**
*
* @hidden
*/
export declare class MeasureShapeAnnotationBase {
/**
* MeasureShapeAnnotation
*/
ShapeAnnotationType: string;
Author: string;
AnnotationSelectorSettings: any;
ModifiedDate: string;
Subject: string;
Note: string;
IsCommentLock: boolean;
StrokeColor: string;
FillColor: string;
Opacity: number;
Bounds: any;
Thickness: number;
BorderStyle: string;
BorderDashArray: number;
RotateAngle: string;
IsCloudShape: boolean;
CloudIntensity: number;
RectangleDifference: string[];
VertexPoints: AnnotPoint[];
LineHeadStart: string;
LineHeadEnd: string;
IsLocked: boolean;
AnnotName: string;
Comments: PopupAnnotationBase[];
State: string;
StateModel: string;
AnnotType: string;
EnableShapeLabel: boolean;
LabelContent: string;
LabelFillColor: string;
LabelBorderColor: string;
FontColor: string;
FontSize: number;
CustomData: {
[key: string]: any;
};
LabelBounds: AnnotBounds;
LabelSettings: any;
AnnotationSettings: any;
AllowedInteractions: string[];
IsPrint: boolean;
ExistingCustomData: string;
AnnotationRotation: number;
constructor(shapeAnnotation: ShapeAnnotationBase);
Indent: string;
Caption: boolean;
CaptionPosition: string;
LeaderLineExtension: number;
LeaderLength: number;
LeaderLineOffset: number;
Calibrate: Measure;
}
/**
*
* @hidden
*/
export declare class SignatureAnnotationBase {
AnnotationType: string;
Bounds: any;
Opacity: number;
StrokeColor: string;
Thickness: number;
PathData: string;
PageNumber: number;
SignatureName: string;
ExistingCustomData: string;
FontFamily: string;
FontSize: number;
}
declare class Measure {
Ratio: string;
X: NumberFormat[];
Distance: NumberFormat[];
Area: NumberFormat[];
Angle: NumberFormat[];
Volume: NumberFormat[];
TargetUnitConversion: number;
Depth: number;
}
declare class NumberFormat {
Unit: string;
ConversionFactor: number;
FractionalType: string;
Denominator: number;
FormatDenominator: boolean;
constructor();
}
/**
*
* @hidden
*/
export declare class PopupAnnotationBase {
Author: string;
AnnotationSelectorSettings: any;
ModifiedDate: string;
Subject: string;
IsLock: boolean;
IsCommentLock: boolean;
AnnotationFlags: string;
Note: string;
Type: string;
SubType: string;
AnnotName: string;
Icon: string;
Comments: PopupAnnotationBase[];
State: string;
StateModel: string;
Opacity: number;
StrokeColor: string;
Color: AnnotColor;
Reference: any;
AnnotType: string;
CustomData: {
[key: string]: any;
};
AnnotationSettings: any;
IsPrint: boolean;
ExistingCustomData: string;
Bounds: AnnotBounds;
Size: SizeBase;
IsLocked: boolean;
constructor();
}
/**
*
* @hidden
*/
export declare class TextMarkupAnnotationBase {
TextMarkupAnnotationType: string;
AnnotationSelectorSettings: any;
Author: string;
ModifiedDate: string;
Subject: string;
Note: string;
IsCommentLock: boolean;
Bounds: AnnotBounds[];
Color: string;
Opacity: number;
Rect: RectangleBase;
AnnotName: string;
Comments: PopupAnnotationBase[];
State: string;
StateModel: string;
AnnotType: string;
CustomData: any;
ExistingCustomData: string;
IsMultiSelect: boolean;
AnnotNameCollection: string[];
AnnotpageNumbers: number[];
AnnotationSettings: any;
AllowedInteractions: string[];
IsPrint: boolean;
IsLocked: boolean;
TextMarkupContent: string;
AnnotationRotation: number;
constructor();
}
/**
*
* @hidden
*/
export declare class PdfLayer {
}
/**
*
* @hidden
*/
export declare class AnnotPoint {
X: number;
Y: number;
constructor(_X: number, _Y: number);
}
/**
*
* @hidden
*/
export declare class AnnotBounds {
X: number;
Y: number;
Width: number;
Height: number;
Location: {
X: number;
Y: number;
};
Size: SizeBase;
Left: number;
Top: number;
Right: number;
Bottom: number;
constructor(_X: number, _Y: number, _Width: number, _Height: number);
}
/**
*
* @hidden
*/
export declare class AnnotColor {
R: number;
G: number;
B: number;
IsEmpty: boolean;
constructor(_R: number, _G: number, _B: number);
}
/**
*
* @hidden
*/
export declare class FontBase {
Bold: boolean;
FontFamily: PdfFontFamily;
Height: number;
Italic: boolean;
Name: string;
Size: number;
Strikeout: boolean;
Style: PdfFontStyle;
Underline: boolean;
constructor(pdfFont: PdfFont, fontFamilyString: string);
}
/**
*
* @hidden
*/
export declare class Path {
points: [number, number][];
constructor();
moveTo(x: number, y: number): void;
lineTo(x: number, y: number): void;
transform(matrix: [number, number, number][]): void;
}
/**
*
* @hidden
*/
export declare class RectangleBase {
/**
* Value of `left`.
*
* @private
*/
left: number;
/**
* Value of `top`.
*
* @private
*/
top: number;
/**
* Value of `right`.
*
* @private
*/
right: number;
/**
* Value of `bottom`.
*
* @private
*/
bottom: number;
/**
* @param {number} left - left
* @param {number} top - top
* @param {number} right - right
* @param {number} bottom - bottom
* @private
*/
constructor(left: number, top: number, right: number, bottom: number);
/**
* Gets a value of width
*/
readonly width: number;
/**
* Gets a value of height
*/
readonly height: number;
}
export {};