jsPDF

jsPDF

new jsPDF(orientation, unit, format) → {jsPDF}

Source:

If the first parameter (orientation) is an object, it will be interpreted as an object of named parameters

{
 orientation: 'p',
 unit: 'mm',
 format: 'a4',
 hotfixes: [] // an array of hotfix strings to enable
}
Parameters:
Name Type Description
orientation string/Object

Orientation of the first page. Possible values are "portrait" or "landscape" (or shortcuts "p" (Default), "l")
Can also be an options object.

unit string

Measurement unit to be used when coordinates are specified.
Possible values are "pt" (points), "mm" (Default), "cm", "in" or "px".

format string/Array

The format of the first page. Can be

  • a0 - a10
  • b0 - b10
  • c0 - c10
  • 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]

Returns:

jsPDF-instance

Type
jsPDF

Members

(static) __bidiEngine__

Source:

constructor ( options )

Initializes Bidi engine

(static) 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() // <- !!!!!!

(static) CapJoinStyles

Source:

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

(static) version :number

Source:

The version of jsPDF

Type:
  • number

Methods

addFont()

Source:
Properties:
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.

encoding Object

Encoding_name-to-Font_metrics_object mapping.

Add a custom font to the current instance.

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
  • 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

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

Source:

Adds an circle to PDF

Parameters:
Name Type 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

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.

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
Returns:
Type
jsPDF

deletePage() → {jsPDF}

Source:
Returns:
Type
jsPDF

ellipse(x, y, rx, rx, style) → {jsPDF}

Source:

Adds an ellipse to PDF

Parameters:
Name Type 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)

rx number

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

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.

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

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

getLineHeightFactor() → {number}

Source:

Gets the LineHeightFactor, default: 1.25

Returns:

lineHeightFactor

Type
number

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) → {jsPDF}

Source:

Draw a line on the current page

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

lines(lines, x, y, scale, style, closed) → {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 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

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.

closed boolean

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

Returns:
Type
jsPDF

lstext(text, x, y, spacing) → {jsPDF}

Source:
Deprecated:
  • We'll be removing this function. It doesn't take character width into account.

Letter spacing method to print text with gaps

Parameters:
Name Type Description
text String | Array

String to be added to the page.

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

spacing number

Spacing (in units declared at inception)

Returns:
Type
jsPDF

movePage(targetPage, beforePage) → {jsPDF}

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

output(type, options) → {jsPDF}

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.

options Object

An object providing some additional signalling to PDF generator.

Returns:
Type
jsPDF

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

Source:

Adds a rectangle to PDF

Parameters:
Name Type 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

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.

Returns:
Type
jsPDF

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

Source:

Adds a rectangle with rounded corners to PDF

Parameters:
Name Type 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)

rx number

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

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.

Returns:
Type
jsPDF

save(filename) → {jsPDF}

Source:

Saves as PDF document. An alias of jsPDF.output('save', 'filename.pdf')

Parameters:
Name Type Description
filename string

The filename including extension.

Returns:

jsPDF-instance

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

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

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 | String

Color channel value

ch3 Number | String

Color channel value

ch4 Number | String

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 | String

Color channel value

ch3 Number | String

Color channel value

ch4 Number | String

Color channel value

Returns:
Type
jsPDF

setFont(fontName, fontStyle) → {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"

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

setFontSize() → {number}

Source:

Gets the fontsize for upcoming text elements.

Returns:
Type
number

setFontStyle(style) → {jsPDF}

Source:

Switches font style or variant for upcoming text elements, while keeping the font face or family same. See output of jsPDF.getFontList() for possible font names, styles.

Parameters:
Name Type Description
style string

Font style or variant. Example: "italic"

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

setLineHeightFactor(value) → {jsPDF}

Source:

Sets the LineHeightFactor,

Parameters:
Name Type Description
value number

of proportion. default: 1.25

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

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

Returns:
Type
jsPDF

setProperties(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

setR2L() → {boolean}

Source:

Get value of R2L functionality

Returns:

jsPDF-instance

Type
boolean

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 | String

Color channel value

ch3 Number | String

Color channel value

ch4 Number | String

Color channel value

Returns:
Type
jsPDF

text(text, x, y, options) → {jsPDF}

Source:

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

Parameters:
Name Type 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

Collection of settings signalling how the text must be encoded. Defaults are sane. If you think you want to pass some flags, you likely can read the source.

Returns:
Type
jsPDF

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

Source:

Adds a triangle to PDF

Parameters:
Name Type 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

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.

Returns:
Type
jsPDF