Document#

MuPDF can open many document types (PDF, XPS, CBZ, EPUB, FB2 and a handful of image formats).

new Document.openDocument(fileName, fileType)#

Constructor method.

Open the named document.

Arguments:
  • fileName – File name to open.

  • fileType – File type.

Returns:

Document.

EXAMPLE

var document = new mupdf.Document.openDocument("my_pdf.pdf", "application/pdf");

Instance methods

needsPassword()#

Returns true if a password is required to open a password protected PDF.

Returns:

Boolean.

EXAMPLE

var needsPassword = document.needsPassword();
authenticatePassword(password)#

Returns a bitfield value against the password authentication result.

Arguments:
  • password – The password to attempt authentication with.

Returns:

Integer.

Bitfield value

Description

0

Failed

1

No password needed

2

Is User password and is okay

4

Is Owner password and is okay

6

Is both User & Owner password and is okay

EXAMPLE

var auth = document.authenticatePassword("abracadabra");
hasPermission(permission)#

Returns true if the document has permission for the supplied permission String parameter.

Arguments:
  • permissionString The permission to seek for, e.g. “edit”.

Returns:

Boolean.

String

Description

print

Can print

edit

Can edit

copy

Can copy

annotate

Can annotate

form

Can fill out forms

accessibility

Can copy for accessibility

assemble

Can manage document pages

print-hq

Can print high-quality

EXAMPLE

var canEdit = document.hasPermission("edit");
getMetaData(key)#

Return various meta data information. The common keys are: format, encryption, info:ModDate, and info:Title.

Arguments:
  • keyString.

Returns:

String.

EXAMPLE

var format = document.getMetaData("format");
var modificationDate = doc.getMetaData("info:ModDate");
var author = doc.getMetaData("info:Author");
setMetaData(key, value)#

Set document meta data information field to a new value.

Arguments:
  • keyString.

  • valueString.

EXAMPLE

document.setMetaData("info:Author", "My Name");
isReflowable()#

Returns true if the document is reflowable, such as EPUB, FB2 or XHTML.

Returns:

Boolean.

EXAMPLE

var isReflowable = document.isReflowable();

Note

This will always return false in the WASM context as there is no HTML/EPUB support in WASM.

layout(pageWidth, pageHeight, fontSize)#

Layout a reflowable document (EPUB, FB2, or XHTML) to fit the specified page and font size.

Arguments:
  • pageWidthInt.

  • pageHeightInt.

  • fontSizeInt.

EXAMPLE

document.layout(300,300,16);
countPages()#

Count the number of pages in the document. This may change if you call the layout function with different parameters.

Returns:

Int.

EXAMPLE

var numPages = document.countPages();
loadPage(number)#

Returns a Page (or PDFPage) object for the given page number. Page number zero (0) is the first page in the document.

Returns:

Page or PDFPage.

EXAMPLE

var page = document.loadPage(0); // loads the 1st page of the document
loadOutline()#

Returns an array with the outline (also known as “table of contents” or “bookmarks”). In the array is an object for each heading with the property ‘title’, and a property ‘page’ containing the page number. If the object has a ‘down’ property, it contains an array with all the sub-headings for that entry.

Returns:

[...].

EXAMPLE

var outline = document.loadOutline();
outlineIterator()#

Returns an OutlineIterator for the document outline.

Returns:

OutlineIterator.

EXAMPLE

var obj = document.outlineIterator();

Resolve a document internal link URI to a page index.

Arguments:
  • uriString.

Returns:

Integer.

EXAMPLE

var pageNumber = document.resolveLink(my_link);
resolveLinkDestination(uri)#

Resolve a document internal link URI to a link destination.

Arguments:
  • uriString.

Returns:

Link destination.

EXAMPLE

var linkDestination = document.resolveLinkDestination(uri);
isPDF()#

Returns true if the document is a PDF document.

Returns:

Boolean.

EXAMPLE

var isPDF = document.isPDF();
asPDF()#

Returns a pdf version of the document (if possible). PDF documents return the same object. Documents that have an underlying PDF representation return that. Other document types return null.

Returns:

PDFDocument.

EXAMPLE

var asPDF = document.asPDF();
formatLinkURI(linkDestination)#

Format a document internal link destination object to a URI string suitable for createLink().

Arguments:
Returns:

String.

EXAMPLE

var uri = document.formatLinkURI({chapter:0, page:42,
        type:"FitV", x:0, y:0, width:100, height:50, zoom:1});
document.createLink([0,0,100,100], uri);