Foxit PDF SDK
fsdk.PSI Class Reference

Public Member Functions

def AddPoint (point, type, pressure)
 Add a point. More...
 
def ConvertToPDFAnnot (page, annot_rect, rotate)
 Convert a PSI object to a PSInk annotation and insert the PSInk annotation to a PDF page. More...
 
def GetBitmap ()
 Get the canvas bitmap. More...
 
def GetContentsRect ()
 Get contents rectangle. More...
 
def IsEmpty ()
 Check whether current object is empty or not. More...
 
def SetCallback (callback)
 Set a callback object for refreshing. More...
 
def SetColor (color)
 Set ink color. More...
 
def SetDiameter (diameter)
 Set ink diameter. More...
 
def SetOpacity (opacity)
 Set ink opacity. More...
 

Detailed Description

PSI, "pressure sensitive ink", is specially defined for manual signature, and usually works together with a handwriting board or for a touchscreen. PSI contains private coordinates, and a canvas is created in its coordinates. Canvas limits operating area and generates appearance of PSI.
PSI is independent of PDF, and can even be used directly in the device screen. If user wants to save a PSI object to PDF file, please call function fsdk.PSI.ConvertToPDFAnnot . This function will convert PSI data to a PSInk annotation (as a Foxit custom annotation type) and insert the PSInk annotation to the specified position in a PDF page.

See also
fsdk.PSInk

Member Function Documentation

◆ AddPoint()

def fsdk.PSI.AddPoint (   point,
  type,
  pressure 
)

Add a point.

Parameters
[in]pointA point in canvas coordinate system.
[in]typePoint type. This should be one of following values: fsdk.PathE_TypeMoveTo , fsdk.PathE_TypeLineTo , fsdk.PathE_TypeLineToCloseFigure ,
[in]pressurePressure value for this point. Valid range: from 0.0 to 1.0.
Returns
None.

◆ ConvertToPDFAnnot()

def fsdk.PSI.ConvertToPDFAnnot (   page,
  annot_rect,
  rotate 
)

Convert a PSI object to a PSInk annotation and insert the PSInk annotation to a PDF page.

Actually, this function is to convert the path data of current PSI to a PSInk annotation, ignoring the canvas bitmap.
Before calling this function, user should ensure that current PSI object has contained a valid path (whose last point's type is fsdk.PathE_TypeLineToCloseFigure . Otherwise, the conversion will be failed and this function will throw exception fsdk.E_ErrInvalidData .

Parameters
[in]pageA valid PDF page object, to which the PSI is expected to inserted.
[in]annot_rectA rectangle to specify the position in the PDF page, where the new PSInk annotation will be inserted. It should be valid in [PDF coordinate system] ().
[in]rotateRotation value. Currently, it can only be fsdk.E_Rotation0 .
Returns
A new PSInk annotation object.
Note
User do not need to call function fsdk.Annot.ResetAppearanceStream (inherited from PSInk's parent class) to reset the appearance of PSInk annotation after this conversion.

◆ GetBitmap()

def fsdk.PSI.GetBitmap ( )

Get the canvas bitmap.

Returns
Canvas bitmap.

◆ GetContentsRect()

def fsdk.PSI.GetContentsRect ( )

Get contents rectangle.

Returns
Contents rectangle, in device coordinate system. If current PSI object does not contain a valid path, a RectF object with all 0 values would be returned.

◆ IsEmpty()

def fsdk.PSI.IsEmpty ( )

Check whether current object is empty or not.

When the current object is empty, that means current object is useless.

Returns
true means current object is empty, while false means not.

◆ SetCallback()

def fsdk.PSI.SetCallback (   callback)

Set a callback object for refreshing.

Parameters
[in]callbackA callback object PSICallback which is implemented by user. Please ensure that the callback object keeps valid until the life-cycle of current PSI object ends.
Returns
None.

◆ SetColor()

def fsdk.PSI.SetColor (   color)

Set ink color.

This should be set before adding first point to PSI object. If not set, the default value 0x000000 will be used.

Parameters
[in]colorInk color. Format: 0xRRGGBB.
Returns
None.

◆ SetDiameter()

def fsdk.PSI.SetDiameter (   diameter)

Set ink diameter.

This should be set before adding first point to PSI object. If not set, the default value 10 will be used.

Parameters
[in]diameterInk diameter. This should be bigger than 1.
Returns
None.

◆ SetOpacity()

def fsdk.PSI.SetOpacity (   opacity)

Set ink opacity.

This should be set before adding first point to PSI object. If not set, the default value 1.0 will be used.

Parameters
[in]opacityInk opacity. Valid range: from 0.0 to 1.0. 0.0 means full transparency and 1.0 means full opaque.
Returns
None.