jsPDF

jsPDF

new jsPDF(optionsopt) → {jsPDF}

Source:
{
 orientation: 'p',
 unit: 'mm',
 format: 'a4',
 putOnlyUsedFonts:true,
 floatPrecision: 16 // or "smart", default is 16
}
Parameters:
Name Type Attributes Description
options Object <optional>

Collection of settings initializing the jsPDF-instance

Properties
Name Type Attributes Default Description
orientation string <optional>
portrait

Orientation of the first page. Possible values are "portrait" or "landscape" (or shortcuts "p" or "l").

unit string <optional>
mm

Measurement unit (base unit) to be used when coordinates are specified.
Possible values are "pt" (points), "mm", "cm", "in", "px", "pc", "em" or "ex". Note that in order to get the correct scaling for "px" units, you need to enable the hotfix "px_scaling" by setting options.hotfixes = ["px_scaling"].

format string/Array <optional>
a4

The format of the first page. Can be:

  • a0 - a10
  • b0 - b10
  • c0 - c10
  • dl
  • letter
  • government-letter
  • legal
  • junior-legal
  • ledger
  • tabloid
  • credit-card

Default is "a4". If you want to use your own format just pass instead of one of the above predefined formats the size as an number-array, e.g. [595.28, 841.89]

putOnlyUsedFonts boolean <optional>
false

Only put fonts into the PDF, which were used.

compress boolean <optional>
false

Compress the generated PDF.

precision number <optional>
16

Precision of the element-positions.

userUnit number <optional>
1.0

Not to be confused with the base unit. Please inform yourself before you use it.

hotfixes Array.<string> <optional>

An array of strings to enable hotfixes such as correct pixel scaling.

encryption Object <optional>
Properties
Name Type Attributes Description
userPassword string <optional>

Password for the user bound by the given permissions list.

ownerPassword string <optional>

Both userPassword and ownerPassword should be set for proper authentication.

userPermissions Array.<string> <optional>

Array of permissions "print", "modify", "copy", "annot-forms", accessible by the user.

floatPrecision number | "smart" <optional>
16
Returns:

jsPDF-instance

Type
jsPDF

Members

(static) __bidiEngine__

Source:

constructor ( options )

Initializes Bidi engine

advancedAPI

Source:

For compatibility reasons jsPDF offers two API modes which differ in the way they convert between the the usual screen coordinates and the PDF coordinate system.

  • "compat": Offers full compatibility across all plugins but does not allow arbitrary transforms
  • "advanced": Allows arbitrary transforms and more advanced features like pattern fills. Some plugins might not support this mode, though. Initial mode is "compat".

You can either provide a callback to the body argument, which means that jsPDF will automatically switch back to the original API mode afterwards; or you can omit the callback and switch back manually using compatAPI.

Note, that the calls to saveGraphicsState and restoreGraphicsState need to be balanced within the callback or between calls of this method and its counterpart compatAPI. Calls to beginFormObject or beginTilingPattern need to be closed by their counterparts before switching back to "compat" API mode.

API

Source:

jsPDF.API is a STATIC property of jsPDF class. jsPDF.API is an object you can add methods and properties to. The methods / properties you add will show up in new jsPDF objects.

One property is prepopulated. It is the 'events' Object. Plugin authors can add topics, callbacks to this object. These will be reassigned to all new instances of jsPDF.

Example
jsPDF.API.mymethod = function(){
  // 'this' will be ref to internal API object. see jsPDF source
  // , so you can refer to built-in methods like so:
  //     this.line(....)
  //     this.text(....)
}
var pdfdoc = new jsPDF()
pdfdoc.mymethod() // <- !!!!!!

beginTilingPattern

Source:

Begins a new tiling pattern. All subsequent render calls are drawn to this pattern until API.endTilingPattern gets called. Only available in "advanced" API mode.

CapJoinStyles

Source:

Is an Object providing a mapping from human-readable to integer flag values designating the varieties of line cap and join styles.

compatApi

Source:

Switches to "compat" API mode. See advancedAPI for more details.

endTilingPattern

Source:

Ends a tiling pattern and sets the render target to the one active before API.beginTilingPattern has been called.

Only available in "advanced" API mode.

#identityMatrix :Matrix

Source:

The identity matrix (equivalent to new Matrix(1, 0, 0, 1, 0, 0)).

Type:

isAdvancedAPI

Source:

matrixMult

Source:

Multiplies two matrices. (see Matrix)

version :string

Source:

The version of jsPDF.

Type:
  • string

Methods

addFont(postScriptName, id, fontStyle, fontWeight, encoding) → {string}

Source:

Add a custom font to the current instance.

Parameters:
Name Type Description
postScriptName string

PDF specification full name for the font.

id string

PDF-document-instance-specific label assinged to the font.

fontStyle string

Style of the Font.

fontWeight number | string

Weight of the Font.

encoding Object

Encoding_name-to-Font_metrics_object mapping.

Returns:

fontId

Type
string

addGState(key, gState) → {jsPDF}

Source:

Adds a new GState for later use. See setGState.

Parameters:
Name Type Description
key String
gState GState
Returns:
Type
jsPDF

addPage(format, orientation) → {jsPDF}

Source:

Adds (and transfers the focus to) new page to the PDF document.

Parameters:
Name Type Description
format String/Array

The format of the new page. Can be:

  • a0 - a10
  • b0 - b10
  • c0 - c10
  • dl
  • letter
  • government-letter
  • legal
  • junior-legal
  • ledger
  • tabloid
  • credit-card

Default is "a4". If you want to use your own format just pass instead of one of the above predefined formats the size as an number-array, e.g. [595.28, 841.89]

orientation string

Orientation of the new page. Possible values are "portrait" or "landscape" (or shortcuts "p" (Default), "l").

Returns:
Type
jsPDF

addPattern(key, pattern) → {jsPDF}

Source:

Adds a new API.ShadingPattern for later use. Only available in "advanced" API mode.

Parameters:
Name Type Description
key String
pattern Pattern
Returns:
Type
jsPDF

beginFormObject(x, y, width, height, matrix) → {jsPDF}

Source:

Starts a new pdf form object, which means that all consequent draw calls target a new independent object until endFormObject is called. The created object can be referenced and drawn later using doFormObject. Nested form objects are possible. x, y, width, height set the bounding box that is used to clip the content.

Parameters:
Name Type Description
x number
y number
width number
height number
matrix Matrix

The matrix that will be applied to convert the form objects coordinate system to the parent's.

Returns:
Type
jsPDF

circle(x, y, r, styleopt) → {jsPDF}

Source:

Adds an circle to PDF.

Parameters:
Name Type Attributes Description
x number

Coordinate (in units declared at inception of PDF document) against left edge of the page

y number

Coordinate (in units declared at inception of PDF document) against upper edge of the page

r number

Radius (in units declared at inception of PDF document)

style string <optional>

A string specifying the painting style or null. Valid styles include: 'S' [default] - stroke, 'F' - fill, and 'DF' (or 'FD') - fill then stroke. In "compat" API mode, a null value postpones setting the style so that a shape may be composed using multiple method calls. The last drawing method call used to define the shape should not have a null style argument.

In "advanced" API mode this parameter is deprecated.

Returns:
Type
jsPDF

clip(rule) → {jsPDF}

Source:

All .clip() after calling drawing ops with a style argument of null.

Parameters:
Name Type Description
rule string

Only possible value is 'evenodd'

Returns:
Type
jsPDF

clipEvenOdd() → {jsPDF}

Source:

Modify the current clip path by intersecting it with the current path using the even-odd rule. Note that this will NOT consume the current path. In order to only use this path for clipping call API.discardPath afterwards.

Returns:
Type
jsPDF

close() → {jsPDF}

Source:

Close the current path. The PDF "h" operator.

Returns:
Type
jsPDF

comment(text) → {jsPDF}

Source:

Inserts a debug comment into the generated pdf.

Parameters:
Name Type Description
text String
Returns:
Type
jsPDF

curveTo(x1, y1, x2, y2, x3, y3) → {jsPDF}

Source:

Append a cubic Bézier curve to the current path. The curve shall extend from the current point to the point (x3, y3), using (x1, y1) and (x2, y2) as Bézier control points. The new current point shall be (x3, x3).

Parameters:
Name Type Description
x1 number
y1 number
x2 number
y2 number
x3 number
y3 number
Returns:
Type
jsPDF

deletePage(targetPage) → {jsPDF}

Source:

Deletes a page from the PDF.

Parameters:
Name Type Description
targetPage number
Returns:
Type
jsPDF

discardPath() → {jsPDF}

Source:

Consumes the current path without any effect. Mainly used in combination with clip or clipEvenOdd. The PDF "n" operator.

Returns:
Type
jsPDF

doFormObject(key, matrix) → {jsPDF}

Source:

Draws the specified form object by referencing to the respective pdf XObject created with API.beginFormObject and endFormObject. The location is determined by matrix.

Parameters:
Name Type Description
key String

The key to the form object.

matrix Matrix

The matrix applied before drawing the form object.

Returns:
Type
jsPDF

ellipse(x, y, rx, ry, styleopt) → {jsPDF}

Source:

Adds an ellipse to PDF.

Parameters:
Name Type Attributes Description
x number

Coordinate (in units declared at inception of PDF document) against left edge of the page

y number

Coordinate (in units declared at inception of PDF document) against upper edge of the page

rx number

Radius along x axis (in units declared at inception of PDF document)

ry number

Radius along y axis (in units declared at inception of PDF document)

style string <optional>

A string specifying the painting style or null. Valid styles include: 'S' [default] - stroke, 'F' - fill, and 'DF' (or 'FD') - fill then stroke. In "compat" API mode, a null value postpones setting the style so that a shape may be composed using multiple method calls. The last drawing method call used to define the shape should not have a null style argument.

In "advanced" API mode this parameter is deprecated.

Returns:
Type
jsPDF

endFormObject(key) → {jsPDF}

Source:

Completes and saves the form object.

Parameters:
Name Type Description
key String

The key by which this form object can be referenced.

Returns:
Type
jsPDF

fill(patternopt) → {jsPDF}

Source:

Fill the current path using the nonzero winding number rule. If a pattern is provided, the path will be filled with this pattern, otherwise with the current fill color. Equivalent to the PDF "f" operator.

Parameters:
Name Type Attributes Description
pattern PatternData <optional>

If provided the path will be filled with this pattern

Returns:
Type
jsPDF

fillEvenOdd(patternopt) → {jsPDF}

Source:
See:
  • API.fill

Fill the current path using the even-odd rule. The PDF f* operator.

Parameters:
Name Type Attributes Description
pattern PatternData <optional>

If provided the path will be filled with this pattern

Returns:
Type
jsPDF

fillStroke(patternopt) → {jsPDF}

Source:
See:
  • API.fill

Fill using the nonzero winding number rule and then stroke the current Path. The PDF "B" operator.

Parameters:
Name Type Attributes Description
pattern PatternData <optional>

If provided the path will be stroked with this pattern

Returns:
Type
jsPDF

fillStrokeEvenOdd(patternopt) → {jsPDF}

Source:
See:
  • API.fill

Fill using the even-odd rule and then stroke the current Path. The PDF "B" operator.

Parameters:
Name Type Attributes Description
pattern PatternData <optional>

If provided the path will be fill-stroked with this pattern

Returns:
Type
jsPDF

getCharSpace() → {number}

Source:

Get global value of CharSpace.

Returns:

charSpace

Type
number

getCreationDate(type) → {Object}

Source:
Parameters:
Name Type Description
type Object
Returns:
Type
Object

getDrawColor() → {string}

Source:

Gets the stroke color for upcoming elements.

Returns:

colorAsHex

Type
string

getFileId() → {string}

Source:
Returns:

GUID.

Type
string

getFillColor() → {string}

Source:

Gets the fill color for upcoming elements.

Returns:

colorAsHex

Type
string

getFont() → {Object}

Source:

Gets text font face, variant for upcoming text elements.

Returns:
Type
Object

getFontList() → {Object}

Source:

Returns an object - a tree of fontName to fontStyle relationships available to active PDF document.

Returns:

Like {'times':['normal', 'italic', ... ], 'arial':['normal', 'bold', ... ], ... }

Type
Object

getFontSize() → {number}

Source:

Gets the fontsize for upcoming text elements.

Returns:
Type
number

getFormObject(key) → {Object|jsPDF}

Source:

Returns the form object specified by key.

Parameters:
Name Type Description
key String
Returns:

getLineHeightFactor() → {number}

Source:

Gets the LineHeightFactor, default: 1.15.

Returns:

lineHeightFactor

Type
number

getLineWidth() → {number}

Source:

Gets the line width, default: 0.200025.

Returns:

lineWidth

Type
number

getR2L() → {boolean}

Source:

Get value of R2L functionality.

Returns:

jsPDF-instance

Type
boolean

getTextColor() → {string}

Source:

Gets the text color for upcoming elements.

Returns:

colorAsHex

Type
string

insertPage(beforePage) → {jsPDF}

Source:
Parameters:
Name Type Description
beforePage Object
Returns:
Type
jsPDF

line(x1, y1, x2, y2, style) → {jsPDF}

Source:

Draw a line on the current page.

Parameters:
Name Type Description
x1 number
y1 number
x2 number
y2 number
style string

A string specifying the painting style or null. Valid styles include: 'S' [default] - stroke, 'F' - fill, and 'DF' (or 'FD') - fill then stroke. A null value postpones setting the style so that a shape may be composed using multiple method calls. The last drawing method call used to define the shape should not have a null style argument. default: 'S'

Returns:
Type
jsPDF

lines(lines, x, y, scale, styleopt, closedopt) → {jsPDF}

Source:

Adds series of curves (straight lines or cubic bezier curves) to canvas, starting at x, y coordinates. All data points in lines are relative to last line origin. x, y become x1,y1 for first line / curve in the set. For lines you only need to specify [x2, y2] - (ending point) vector against x1, y1 starting point. For bezier curves you need to specify [x2,y2,x3,y3,x4,y4] - vectors to control points 1, 2, ending point. All vectors are against the start of the curve - x1,y1.

Example
.lines([[2,2],[-2,2],[1,1,2,2,3,3],[2,1]], 212,110, [1,1], 'F', false) // line, line, bezier curve, line
Parameters:
Name Type Attributes Description
lines Array

Array of vector shifts as pairs (lines) or sextets (cubic bezier curves).

x number

Coordinate (in units declared at inception of PDF document) against left edge of the page

y number

Coordinate (in units declared at inception of PDF document) against upper edge of the page

scale number

(Defaults to [1.0,1.0]) x,y Scaling factor for all vectors. Elements can be any floating number Sub-one makes drawing smaller. Over-one grows the drawing. Negative flips the direction.

style string <optional>

A string specifying the painting style or null. Valid styles include: 'S' [default] - stroke, 'F' - fill, and 'DF' (or 'FD') - fill then stroke. In "compat" API mode, a null value postpones setting the style so that a shape may be composed using multiple method calls. The last drawing method call used to define the shape should not have a null style argument.

In "advanced" API mode this parameter is deprecated.

closed Boolean <optional>

If true, the path is closed with a straight line from the end of the last curve to the starting point.

Returns:
Type
jsPDF

lineTo(x, y) → {jsPDF}

Source:

Append a straight line segment from the current point to the point (x, y). The PDF "l" operator.

Parameters:
Name Type Description
x number
y number
Returns:
Type
jsPDF

movePage(targetPage, beforePage) → {jsPDF}

Source:
Parameters:
Name Type Description
targetPage number
beforePage number
Returns:
Type
jsPDF

moveTo(x, y) → {jsPDF}

Source:

Begin a new subpath by moving the current point to coordinates (x, y). The PDF "m" operator.

Parameters:
Name Type Description
x number
y number
Returns:
Type
jsPDF

output(type, options) → {string|window|ArrayBuffer|Blob|jsPDF|null|undefined}

Source:

Generates the PDF document.

If type argument is undefined, output is raw body of resulting PDF returned as a string.

Parameters:
Name Type Description
type string

A string identifying one of the possible output types.
Possible values are:
'arraybuffer' -> (ArrayBuffer)
'blob' -> (Blob)
'bloburi'/'bloburl' -> (string)
'datauristring'/'dataurlstring' -> (string)
'datauri'/'dataurl' -> (undefined) -> change location to generated datauristring/dataurlstring
'dataurlnewwindow' -> (window | null | undefined) throws error if global isn't a window object(node)
'pdfobjectnewwindow' -> (window | null) throws error if global isn't a window object(node)
'pdfjsnewwindow' -> (wind | null)

options Object | string

An object providing some additional signalling to PDF generator.
Possible options are 'filename'.
A string can be passed instead of {filename:string} and defaults to 'generated.pdf'

Returns:
Type
string | window | ArrayBuffer | Blob | jsPDF | null | undefined

path(lines) → {jsPDF}

Source:

Similar to API.lines but all coordinates are interpreted as absolute coordinates instead of relative.

Parameters:
Name Type Description
lines Array.<Object>

An array of {op: operator, c: coordinates} object, where op is one of "m" (move to), "l" (line to) "c" (cubic bezier curve) and "h" (close (sub)path)). c is an array of coordinates. "m" and "l" expect two, "c" six and "h" an empty array (or undefined).

Returns:
Type
jsPDF

rect(x, y, w, h, styleopt) → {jsPDF}

Source:

Adds a rectangle to PDF.

Parameters:
Name Type Attributes Description
x number

Coordinate (in units declared at inception of PDF document) against left edge of the page

y number

Coordinate (in units declared at inception of PDF document) against upper edge of the page

w number

Width (in units declared at inception of PDF document)

h number

Height (in units declared at inception of PDF document)

style string <optional>

A string specifying the painting style or null. Valid styles include: 'S' [default] - stroke, 'F' - fill, and 'DF' (or 'FD') - fill then stroke. In "compat" API mode, a null value postpones setting the style so that a shape may be composed using multiple method calls. The last drawing method call used to define the shape should not have a null style argument.

In "advanced" API mode this parameter is deprecated.

Returns:
Type
jsPDF

restoreGraphicsState() → {jsPDF}

Source:

Restores a previously saved graphics state saved by saveGraphicsState ("pops the stack").

Returns:
Type
jsPDF

roundedRect(x, y, w, h, rx, ry, styleopt) → {jsPDF}

Source:

Adds a rectangle with rounded corners to PDF.

Parameters:
Name Type Attributes Description
x number

Coordinate (in units declared at inception of PDF document) against left edge of the page

y number

Coordinate (in units declared at inception of PDF document) against upper edge of the page

w number

Width (in units declared at inception of PDF document)

h number

Height (in units declared at inception of PDF document)

rx number

Radius along x axis (in units declared at inception of PDF document)

ry number

Radius along y axis (in units declared at inception of PDF document)

style string <optional>

A string specifying the painting style or null. Valid styles include: 'S' [default] - stroke, 'F' - fill, and 'DF' (or 'FD') - fill then stroke. In "compat" API mode, a null value postpones setting the style so that a shape may be composed using multiple method calls. The last drawing method call used to define the shape should not have a null style argument.

In "advanced" API mode this parameter is deprecated.

Returns:
Type
jsPDF

save(filename, options) → {jsPDF|Promise}

Source:

Saves as PDF document. An alias of jsPDF.output('save', 'filename.pdf'). Uses FileSaver.js-method saveAs.

Parameters:
Name Type Description
filename string

The filename including extension.

options Object

An Object with additional options, possible options: 'returnPromise'.

Returns:

jsPDF-instance

Type
jsPDF | Promise

saveGraphicsState() → {jsPDF}

Source:

Saves the current graphics state ("pushes it on the stack"). It can be restored by restoreGraphicsState later. Here, the general pdf graphics state is meant, also including the current transformation matrix, fill and stroke colors etc.

Returns:
Type
jsPDF

setCharSpace(charSpace) → {jsPDF}

Source:

Set global value of CharSpace.

Parameters:
Name Type Description
charSpace number
Returns:

jsPDF-instance

Type
jsPDF

setCreationDate(date) → {jsPDF}

Source:
Parameters:
Name Type Description
date Object
Returns:
Type
jsPDF

setCurrentTransformationMatrix(matrix) → {jsPDF}

Source:

Appends this matrix to the left of all previously applied matrices.

Parameters:
Name Type Description
matrix Matrix
Returns:
Type
jsPDF

setDisplayMode(zoom, layout, pmode) → {jsPDF}

Source:

Set the display mode options of the page like zoom and layout.

Parameters:
Name Type Description
zoom integer | String

You can pass an integer or percentage as a string. 2 will scale the document up 2x, '200%' will scale up by the same amount. You can also set it to 'fullwidth', 'fullheight', 'fullpage', or 'original'.

Only certain PDF readers support this, such as Adobe Acrobat.

layout string

Layout mode can be: 'continuous' - this is the default continuous scroll. 'single' - the single page mode only shows one page at a time. 'twoleft' - two column left mode, first page starts on the left, and 'tworight' - pages are laid out in two columns, with the first page on the right. This would be used for books.

pmode string

'UseOutlines' - it shows the outline of the document on the left. 'UseThumbs' - shows thumbnails along the left. 'FullScreen' - prompts the user to enter fullscreen mode.

Returns:
Type
jsPDF

setDocumentProperties(A) → {jsPDF}

Source:

Adds a properties to the PDF document.

Parameters:
Name Type Description
A Object

property_name-to-property_value object structure.

Returns:
Type
jsPDF

setDrawColor(ch1, ch2, ch3, ch4) → {jsPDF}

Source:

Sets the stroke color for upcoming elements.

Depending on the number of arguments given, Gray, RGB, or CMYK color space is implied.

When only ch1 is given, "Gray" color space is implied and it must be a value in the range from 0.00 (solid black) to to 1.00 (white) if values are communicated as String types, or in range from 0 (black) to 255 (white) if communicated as Number type. The RGB-like 0-255 range is provided for backward compatibility.

When only ch1,ch2,ch3 are given, "RGB" color space is implied and each value must be in the range from 0.00 (minimum intensity) to to 1.00 (max intensity) if values are communicated as String types, or from 0 (min intensity) to to 255 (max intensity) if values are communicated as Number types. The RGB-like 0-255 range is provided for backward compatibility.

When ch1,ch2,ch3,ch4 are given, "CMYK" color space is implied and each value must be a in the range from 0.00 (0% concentration) to to 1.00 (100% concentration)

Because JavaScript treats fixed point numbers badly (rounds to floating point nearest to binary representation) it is highly advised to communicate the fractional numbers as String types, not JavaScript Number type.

Parameters:
Name Type Description
ch1 Number | String

Color channel value or {string} ch1 color value in hexadecimal, example: '#FFFFFF'.

ch2 Number

Color channel value.

ch3 Number

Color channel value.

ch4 Number

Color channel value.

Returns:
Type
jsPDF

setFileId(value) → {jsPDF}

Source:
Parameters:
Name Type Description
value string

GUID.

Returns:
Type
jsPDF

setFillColor(ch1, ch2, ch3, ch4) → {jsPDF}

Source:

Sets the fill color for upcoming elements.

Depending on the number of arguments given, Gray, RGB, or CMYK color space is implied.

When only ch1 is given, "Gray" color space is implied and it must be a value in the range from 0.00 (solid black) to to 1.00 (white) if values are communicated as String types, or in range from 0 (black) to 255 (white) if communicated as Number type. The RGB-like 0-255 range is provided for backward compatibility.

When only ch1,ch2,ch3 are given, "RGB" color space is implied and each value must be in the range from 0.00 (minimum intensity) to to 1.00 (max intensity) if values are communicated as String types, or from 0 (min intensity) to to 255 (max intensity) if values are communicated as Number types. The RGB-like 0-255 range is provided for backward compatibility.

When ch1,ch2,ch3,ch4 are given, "CMYK" color space is implied and each value must be a in the range from 0.00 (0% concentration) to to 1.00 (100% concentration)

Because JavaScript treats fixed point numbers badly (rounds to floating point nearest to binary representation) it is highly advised to communicate the fractional numbers as String types, not JavaScript Number type.

Parameters:
Name Type Description
ch1 Number | String

Color channel value or {string} ch1 color value in hexadecimal, example: '#FFFFFF'.

ch2 Number

Color channel value.

ch3 Number

Color channel value.

ch4 Number

Color channel value.

Returns:
Type
jsPDF

setFont(fontName, fontStyle, fontWeight) → {jsPDF}

Source:

Sets text font face, variant for upcoming text elements. See output of jsPDF.getFontList() for possible font names, styles.

Parameters:
Name Type Description
fontName string

Font name or family. Example: "times".

fontStyle string

Font style or variant. Example: "italic".

fontWeight number | string

Weight of the Font. Example: "normal" | 400

Returns:
Type
jsPDF

setFontSize(size) → {jsPDF}

Source:

Sets font size for upcoming text elements.

Parameters:
Name Type Description
size number

Font size in points.

Returns:
Type
jsPDF

setGState(gState) → {jsPDF}

Source:

Sets a either previously added GState (via addGState) or a new GState.

Parameters:
Name Type Description
gState String | GState

If type is string, a previously added GState is used, if type is GState it will be added before use.

Returns:
Type
jsPDF

setLineCap(style) → {jsPDF}

Source:

Sets the line cap styles. See {jsPDF.CapJoinStyles} for variants.

Parameters:
Name Type Description
style String | Number

A string or number identifying the type of line cap.

Returns:
Type
jsPDF

setLineDashPattern(dashArray, dashPhase) → {jsPDF}

Source:

Sets the dash pattern for upcoming lines.

To reset the settings simply call the method without any parameters.

Parameters:
Name Type Description
dashArray Array.<number>

An array containing 0-2 numbers. The first number sets the length of the dashes, the second number the length of the gaps. If the second number is missing, the gaps are considered to be as long as the dashes. An empty array means solid, unbroken lines.

dashPhase number

The phase lines start with.

Returns:
Type
jsPDF

setLineHeightFactor(value) → {jsPDF}

Source:

Sets the LineHeightFactor of proportion.

Parameters:
Name Type Description
value number

LineHeightFactor value. Default: 1.15.

Returns:
Type
jsPDF

setLineJoin(style) → {jsPDF}

Source:

Sets the line join styles. See {jsPDF.CapJoinStyles} for variants.

Parameters:
Name Type Description
style String | Number

A string or number identifying the type of line join.

Returns:
Type
jsPDF

setLineMiterLimit(length) → {jsPDF}

Source:

Sets the miterLimit property, which effects the maximum miter length.

Parameters:
Name Type Description
length number

The length of the miter

Returns:
Type
jsPDF

setLineWidth(width) → {jsPDF}

Source:

Sets line width for upcoming lines.

Parameters:
Name Type Description
width number

Line width (in units declared at inception of PDF document).

Returns:
Type
jsPDF

setPage(page) → {jsPDF}

Source:

Adds (and transfers the focus to) new page to the PDF document.

Example
doc = jsPDF()
doc.addPage()
doc.addPage()
doc.text('I am on page 3', 10, 10)
doc.setPage(1)
doc.text('I am on page 1', 10, 10)
Parameters:
Name Type Description
page number

Switch the active page to the page number specified (indexed starting at 1).

Returns:
Type
jsPDF

setPrecision(precision) → {jsPDF}

Source:
Parameters:
Name Type Description
precision string
Returns:
Type
jsPDF

setR2L(value) → {jsPDF}

Source:

Set value of R2L functionality.

Parameters:
Name Type Description
value boolean
Returns:

jsPDF-instance

Type
jsPDF

setTextColor(ch1, ch2, ch3, ch4) → {jsPDF}

Source:

Sets the text color for upcoming elements.

Depending on the number of arguments given, Gray, RGB, or CMYK color space is implied.

When only ch1 is given, "Gray" color space is implied and it must be a value in the range from 0.00 (solid black) to to 1.00 (white) if values are communicated as String types, or in range from 0 (black) to 255 (white) if communicated as Number type. The RGB-like 0-255 range is provided for backward compatibility.

When only ch1,ch2,ch3 are given, "RGB" color space is implied and each value must be in the range from 0.00 (minimum intensity) to to 1.00 (max intensity) if values are communicated as String types, or from 0 (min intensity) to to 255 (max intensity) if values are communicated as Number types. The RGB-like 0-255 range is provided for backward compatibility.

When ch1,ch2,ch3,ch4 are given, "CMYK" color space is implied and each value must be a in the range from 0.00 (0% concentration) to to 1.00 (100% concentration)

Because JavaScript treats fixed point numbers badly (rounds to floating point nearest to binary representation) it is highly advised to communicate the fractional numbers as String types, not JavaScript Number type.

Parameters:
Name Type Description
ch1 Number | String

Color channel value or {string} ch1 color value in hexadecimal, example: '#FFFFFF'.

ch2 Number

Color channel value.

ch3 Number

Color channel value.

ch4 Number

Color channel value.

Returns:
Type
jsPDF

stroke() → {jsPDF}

Source:

Stroke the path. The PDF "S" operator.

Returns:
Type
jsPDF

text(text, x, y, optionsopt, transform) → {jsPDF}

Source:

Adds text to page. Supports adding multiline text when 'text' argument is an Array of Strings.

Parameters:
Name Type Attributes Description
text String | Array

String or array of strings to be added to the page. Each line is shifted one line down per font, spacing settings declared before this call.

x number

Coordinate (in units declared at inception of PDF document) against left edge of the page.

y number

Coordinate (in units declared at inception of PDF document) against upper edge of the page.

options Object <optional>

Collection of settings signaling how the text must be encoded.

Properties
Name Type Attributes Default Description
align string <optional>
left

The alignment of the text, possible values: left, center, right, justify.

baseline string <optional>
alphabetic

Sets text baseline used when drawing the text, possible values: alphabetic, ideographic, bottom, top, middle, hanging

angle number | Matrix <optional>
0

Rotate the text clockwise or counterclockwise. Expects the angle in degree.

rotationDirection number <optional>
1

Direction of the rotation. 0 = clockwise, 1 = counterclockwise.

charSpace number <optional>
0

The space between each letter.

horizontalScale number <optional>
1

Horizontal scale of the text as a factor of the regular size.

lineHeightFactor number <optional>
1.15

The lineheight of each line.

flags Object <optional>

Flags for to8bitStream.

Properties
Name Type Attributes Default Description
noBOM boolean <optional>
true

Don't add BOM to Unicode-text.

autoencode boolean <optional>
true

Autoencode the Text.

maxWidth number <optional>
0

Split the text by given width, 0 = no split.

renderingMode string <optional>
fill

Set how the text should be rendered, possible values: fill, stroke, fillThenStroke, invisible, fillAndAddForClipping, strokeAndAddPathForClipping, fillThenStrokeAndAddToPathForClipping, addToPathForClipping.

isInputVisual boolean <optional>

Option for the BidiEngine

isOutputVisual boolean <optional>

Option for the BidiEngine

isInputRtl boolean <optional>

Option for the BidiEngine

isOutputRtl boolean <optional>

Option for the BidiEngine

isSymmetricSwapping boolean <optional>

Option for the BidiEngine

transform number | Matrix

If transform is a number the text will be rotated by this value around the anchor set by x and y.

If it is a Matrix, this matrix gets directly applied to the text, which allows shearing effects etc.; the x and y offsets are then applied AFTER the coordinate system has been established by this matrix. This means passing a rotation matrix that is equivalent to some rotation angle will in general yield a DIFFERENT result. A matrix is only allowed in "advanced" API mode.

Returns:
Type
jsPDF

triangle(x1, y1, x2, y2, x3, y3, styleopt) → {jsPDF}

Source:

Adds a triangle to PDF.

Parameters:
Name Type Attributes Description
x1 number

Coordinate (in units declared at inception of PDF document) against left edge of the page

y1 number

Coordinate (in units declared at inception of PDF document) against upper edge of the page

x2 number

Coordinate (in units declared at inception of PDF document) against left edge of the page

y2 number

Coordinate (in units declared at inception of PDF document) against upper edge of the page

x3 number

Coordinate (in units declared at inception of PDF document) against left edge of the page

y3 number

Coordinate (in units declared at inception of PDF document) against upper edge of the page

style string <optional>

A string specifying the painting style or null. Valid styles include: 'S' [default] - stroke, 'F' - fill, and 'DF' (or 'FD') - fill then stroke. In "compat" API mode, a null value postpones setting the style so that a shape may be composed using multiple method calls. The last drawing method call used to define the shape should not have a null style argument.

In "advanced" API mode this parameter is deprecated.

Returns:
Type
jsPDF

(inner) addGState(key, gState)

Source:

Adds a new Graphics State. Duplicates are automatically eliminated.

Parameters:
Name Type Description
key String

Might also be null, if no later reference to this gState is needed

gState Object

The gState object

(inner) addPattern(key, pattern)

Source:

Adds a new pattern for later use.

Parameters:
Name Type Description
key String

The key by it can be referenced later. The keys must be unique!

pattern API.Pattern

The pattern

(inner) hasHotfix(hotfixName) → {boolean}

Source:

Used to see if a supplied hotfix was requested when the pdf instance was created.

Parameters:
Name Type Description
hotfixName string

The name of the hotfix to check.

Returns:
Type
boolean

(inner) Point()

Source:

Point

(inner) Rectangle()

Source:

Rectangle

(inner) RenderTarget()

Source:

FormObject/RenderTarget