FoxitPDFSDKforWeb  8.2.0
Foxit PDF SDK for Web
PDFDoc Class Reference

Public Member Functions

 addAnnot (pageIndex, annotJson)
 Add an annotation into a specified page. [Support in Server] More...
 
 addAnnotGroup (pageIndex, annotJsons, headerIndex)
 Add a group annotation [Support in Server] More...
 
 addHeaderFooter (headerFooter)
 Add new header-footer. More...
 
 applyRedaction ()
 Apply redaction in marked areas: remove the text or graphics under marked areas permanently. [Support in Server] More...
 
 createRootBookmark ()
 Create the root bookmark of the document. More...
 
 drmEncrypt (drmOptions)
 
 exportAnnotsToFDF (fileType=0, annots=null)
 Export annotation data in a document to a file. [Support in Server] More...
 
 exportAnnotsToJSON (annotArray)
 Export the document's annotation data to Json. [Support in Server] More...
 
 exportFormToFile (fileType=0)
 Export document form data to file. More...
 
 extractPages (pageRange)
 Export the given page(s) from the current document. More...
 
 flatten (option)
 Flatten all annotations and interactive form fields in a PDF. More...
 
 getAnnots ()
 Get an array of all annotations of the current document. [Support in Server] More...
 
 getBookmarksJson ()
 Get the document's bookmarks to JSON format. More...
 
 getFile ({ flags=0, fileName=this.getFileName() }={ flags:0, fileName:this.getFileName() })
 Export the PDF document object to the File object. More...
 
 getFontsInfo ()
 Get fonts info. More...
 
 getHeaderFooter ()
 Get HeaderFooter of document. More...
 
 getId ()
 Gets the id of the PDF document [Support in Server] More...
 
 getInfo ()
 Get the information dictionary of the pdf document. More...
 
 getLayerNodesJson ()
 Get the document's layer nodes. More...
 
 getMetadata ()
 Get metadata of PDF document. [Support in Server] More...
 
 getPageAnnots (index)
 Get all annotations in a specified page by page index. [Support in Server] More...
 
 getPageByIndex (index)
 Get the document page [Support in Server] More...
 
 getPageCount ()
 Gets the number of document pages [Support in Server] More...
 
 getPageLabels (pageIndexes)
 Get the page labels of the pdf document. More...
 
 getPasswordType ()
 Get the type of current used password. [Support in Server] More...
 
 getPDFForm ()
 Get form object of PDF Document. [Support in Server] More...
 
 getPermission ()
 Get user access permissions. [Support in Server]
If it is the owner of the document, then 4294967292 is put back to indicate full permissions.
. More...
 
 getPermissions ()
 Get user access permissions. [Support in Server]
If it is the owner of the document, then 4294967292 is put back to indicate full permissions.
. More...
 
 getRootBookmark (forceRefresh=false)
 Get the root bookmark of the document. More...
 
 getStream (writeChunk, flag=0)
 Gets a PDF file stream that can be used to download documents [Support in Server] More...
 
 getText (pages)
 Gets the text content of the specified pages XFA documents are not supported. More...
 
 getTextSearch (pattern, flags)
 Get text search object. [Support in Server] More...
 
 getUserPermissions ()
 
 hasForm ()
 Call this function to determine whether the document contains pdf form. More...
 
 importAnnotsFromFDF (fdf, escape=true)
 Import data from an FDF file specified by array buffer. [Support in Server] More...
 
 importAnnotsFromJSON (annotsJson)
 Import data from Json. [Support in Server] More...
 
 importFormFromFile (file, format, encoding='UTF-8')
 Import form data from an FDF file specified by array buffer. More...
 
 insertBlankPages (pageRange, width, height)
 Insert a new blank PDF page to the specified pages, by indexes. More...
 
 insertPage (pageIndex, width, height)
 Insert a new blank PDF page to document, by index. [Support in Server] More...
 
 insertPages ({destIndex, file, password="", flags=0, layerName="", startIndex, endIndex})
 Start to import pages from another PDF document. More...
 
 isDocModified ()
 Call this function to determine whether the document is modified if modified return true, false otherwise. [Support in Server] More...
 
 isLinearized ()
 Call this function to determine whether the document is represented in linearized (fast web view) format. More...
 
 loadPDFForm ()
 Load form data of PDF document. [Support in Server] More...
 
 makeRedactByPages (pages)
 Mark pages which are to be redacted. More...
 
 movePagesTo (pageRange, destIndex=0)
 Move the specified pages to a new index position. More...
 
 movePageTo (pageIndex, destIndex)
 Move a specified page to a new index position. [Support in Server] More...
 
 removeHeaderFooter ()
 Revmove all headers and foonters of document. More...
 
 removePage (pageIndex)
 Remove a PDF page by page index. [Support in Server] More...
 
 removePages (pageRange)
 Remove the specified pages by page indexes. More...
 
 rotatePages (pageRange, rotation)
 Set the specified pages rotation. More...
 
 setLayerNodeVisible (layerId, visible)
 Set the visibility of a specified layer node. More...
 
 setMetadataValue (key, value)
 Set metadata value. More...
 
 setPasswordAndPermission (userPassword, ownerPassword, permission=0xfffffffc, cipher=cipherType.AES256, isEncryptMetadata=true)
 Set document password and permission. More...
 
 sign (signInfo, DigestSignHandler)
 Get signature file stream without signed data. More...
 
 updateHeaderFooter (headerFooter)
 Modify header or footer of documents. If there is no header or footer, this function will add one. More...
 
 verifySignature (field, VerifyHandler)
 Verify signature's status. More...
 

Detailed Description

PDF document object

Member Function Documentation

◆ addAnnot()

PDFDoc::addAnnot (   pageIndex,
  annotJson 
)
inline

Add an annotation into a specified page. [Support in Server]

Parameters
pageIndex{number} Specifies target page.
annotJson{object} Annotation's json object.
Returns
{Promise.<Annot[]}>}
See also
PDFPage::addAnnot

◆ addAnnotGroup()

PDFDoc::addAnnotGroup (   pageIndex,
  annotJsons,
  headerIndex 
)
inline

Add a group annotation [Support in Server]

Parameters
pageIndex{number} - Specifies target page.
annotJsons{object} - Annotation's json object.
headerIndex{number} - Indicates the header annotation's index.
Returns
{Promise.<Annot[]}>} - Annotations added as a group.
See also
PDFPage::addAnnotGroup

◆ addHeaderFooter()

PDFDoc::addHeaderFooter (   headerFooter)
inline

Add new header-footer.

Since
7.2.0

A PDF document can be added header-footer sereral times. When a new header-footer is added, the old ones will not be removed but be covered by the new one if the old ones appear in the same place as new one.

Note
It should call PDFDOC::updateHeaderFooter to modify HeaderFooter.
Parameters
headerfooter{HeaderFooter} A valid header-footer object to be added to current document.
Returns
{Promise<object>} - A null for failed or success.

◆ applyRedaction()

PDFDoc::applyRedaction ( )
inline

Apply redaction in marked areas: remove the text or graphics under marked areas permanently. [Support in Server]

Returns
{Promise.<boolean|Array<Array<Annot>>>} - FASLE means failure, Array means success. The removed annotation objects in each page.

◆ createRootBookmark()

PDFDoc::createRootBookmark ( )
inline

Create the root bookmark of the document.

Returns
{Promise.<PDFBookmark}>} - root bookmark.

◆ drmEncrypt()

PDFDoc::drmEncrypt (   drmOptions)
inline

This class represents a Foxit DRM(Digital Right Management) security handler, used for Foxit DRM encryption.

Parameters
drmOptions{object}
[drmOptions.isEncryptMetadata=false]{boolean} A boolean value to decide whether to encrypt metadata or not. true means to encrypt metadata, and false means not to encrypt metadata.
drmOptions.subFilter{string} The sub filter of PDF document.
drmOptions.cipher{number} Cipher type. Please refer to values starting from Cipher_Type::cipherRC4 and this should be one of these values except Cipher_Type::cipherNone.
drmOptions.keyLength{number} The key length, in bytes.
For Cipher_Type::cipherRC4 cipher, this value should be between 5 and 16.
For Cipher_Type::cipherAES cipher, this value should be 16 or 32.
drmOptions.isOwner{boolean} A boolean value to decide whether current user is owner or not. true means current user is owner, and false means current user is not owner. Default: false.
drmOptions.userPermissions{number} The user permissions. Please refer to values starting from User_Permissions::print and this can be one or combination of these values.
drmOptions.fileId{string} The file identity string.
drmOptions.initialKey{string} The user specified initial key for encryption.
[drmOptions.values]{object} Set the DRM value for a specified parameter.
A parameter string as the key name. It should not be an empty string. Followings are pre-defined key names:
Issuer: issuer name.
Creator: creator of this file.
FileID: file ID.
FlowCode: flow code for application control.
Order: order number.
User: user name.
ServiceURL: service URL for remote server.
Vender: vender name.

◆ exportAnnotsToFDF()

PDFDoc::exportAnnotsToFDF (   fileType = 0,
  annots = null 
)
inline

Export annotation data in a document to a file. [Support in Server]

Parameters
fileType{number} - Specify data file type. File_Type.xfdf or File_Type.fdf. The default is File_Type.fdf.
[annots]{Annot[]} - Specifies particular annots to be exported. If it's null, all annotations will be exported. [Not support in Server]
Returns
{Promise.<Blob>} - Blob of annotations data.

◆ exportAnnotsToJSON()

PDFDoc::exportAnnotsToJSON (   annotArray)
inline

Export the document's annotation data to Json. [Support in Server]

Parameters
annots{Array<Annot>} - An array with annots that will be exported. All annots will be exported with "null" parameters.
Returns
{Promise.<IAnnotationSummary[]}>} - Json format. please refer to Annot::exportToJson

◆ exportFormToFile()

PDFDoc::exportFormToFile (   fileType = 0)
inline

Export document form data to file.

Parameters
fileType{number} - Specify data file type. Please refer to File_Type. The default is File_Type.fdf.
Note
For File_Type.csv and File_Type.txt, char encoding is UTF-8.
Returns
{Promise.<Blob>} - Blob of form data.

◆ extractPages()

PDFDoc::extractPages (   pageRange)
inline

Export the given page(s) from the current document.

Parameters
pageRange{Array} - A two-dimensional array of page indices(starts from 0) which woulb be extracted. Only positive integer in valid page range is available. For example, [[0],[2,4],[5,7]] means page 0, page 2 to page 3, and page 5 to page6 will be extracted.
Returns
{Promise.<ArrayBuffer>} - Array buffer of PDF document.

◆ flatten()

PDFDoc::flatten (   option)
inline

Flatten all annotations and interactive form fields in a PDF.

Parameters
option{number} - Specify which objects will be flattened. Please Refer to Flatten_Option
Returns
{Promise.<boolean[]>} - success flag.

◆ getAnnots()

PDFDoc::getAnnots ( )
inline

Get an array of all annotations of the current document. [Support in Server]

Returns
{Promise.<Annot[]}>} - The return array contains a collection of 2D arrays, like [[annot1,annot2], [annot3,annot4]...]. The first 2D array matrix corresponds to annotation data in the first page you queried and the second array cell data in the second page, and so on .

◆ getBookmarksJson()

PDFDoc::getBookmarksJson ( )
inline

Get the document's bookmarks to JSON format.

Deprecated:
Returns
{Promise.<Object>} - Document's bookmarks to JSON.

◆ getFile()

Promise< File > PDFDoc::getFile (   options = { flags: 0, fileName: this.getFileName() })
inline

Export the PDF document object to the File object.

Parameters
[options]object
[options.flags]number - Document saving flags. Please refer to Saving_Flag. Default: Saving_Flag::normal.
[options.fileName]string - PDF file name
Returns
Promise<File> - PDF file object
See also
https://developer.mozilla.org/en-US/docs/Web/API/File
Additional_Permission
PDFViewer.constructor customs.getAdditionalPerm
Since
8.1.0

◆ getFontsInfo()

PDFDoc::getFontsInfo ( )
inline

Get fonts info.

Returns
{Promise<[FontInfo]>} - Fonts info.
[{
"isEmbedded": false,
"isBold": false,
"isItalic": false,
"baseFontName": "SimSun",
"fontType": {},
"name": "NotoSansMonoCJKsc-Regular",
"familyName": "Noto Sans Mono CJK SC Regular",
"index": 6,
"docId": "**"
},]

◆ getHeaderFooter()

PDFDoc::getHeaderFooter ( )
inline

Get HeaderFooter of document.

Note
It should call PDFDOC::updateHeaderFooter to modify HeaderFooter.
Since
7.2.0
Returns
{Promise.<HeaderFooter>} - If no header or footer presents, a null return.

◆ getId()

PDFDoc::getId ( )
inline

Gets the id of the PDF document [Support in Server]

Returns
{string} - Document id

◆ getInfo()

PDFDoc::getInfo ( )
inline

Get the information dictionary of the pdf document.

Since
7.6.0
Returns
{Promise.<PDFDictionary>} - The information dictionary.
Example:
async function example (pdfDoc) {
let infoDict = await pdfDoc.getInfo();
return infoDict;
}

◆ getLayerNodesJson()

PDFDoc::getLayerNodesJson ( )
inline

Get the document's layer nodes.

Returns
Promise<ILayerNode> - Document's layerNodes to JSON.

◆ getMetadata()

PDFDoc::getMetadata ( )
inline

Get metadata of PDF document. [Support in Server]

Returns
{Promise.<Object>}
{
"Title":"",
"Author":"",
"Subject":"",
"Keywords":"",
"Creator":"",
"Producer":"",
"Trapped":"",
"CreationDate":"",
"ModDate":"",
"pdfaid":"",
};

◆ getPageAnnots()

PDFDoc::getPageAnnots (   index)
inline

Get all annotations in a specified page by page index. [Support in Server]

Parameters
index{number} - page index
Returns
{Promise<Annot[]}>} - Annotation objects.

◆ getPageByIndex()

PDFDoc::getPageByIndex (   index)
inline

Get the document page [Support in Server]

Parameters
index{number} - Access 0 to this.getPageCount() - 1
Returns
{Promise.<PDFPage}>} - PDFPage

◆ getPageCount()

PDFDoc::getPageCount ( )
inline

Gets the number of document pages [Support in Server]

Returns
{number} - Pages count.

◆ getPageLabels()

PDFDoc::getPageLabels (   pageIndexes)
inline

Get the page labels of the pdf document.

Since
7.6.0
Parameters
pageIndexes{[number]} - Could be undefined or page number indexes array. If it's undefined, then all the page labels are returned.
Returns
{Promise.<[string]>} - The page labels array.
examples:
async function example (pdfDoc) {
let allPagelabels = await pdfDoc.getPageLabels();
return allPagelabels;
}

◆ getPasswordType()

PDFDoc::getPasswordType ( )
inline

Get the type of current used password. [Support in Server]

Returns
{Promise.<number>} - 0 means invalid password, 1 means no password, 2 means user password, 3 means owner password.

◆ getPDFForm()

PDFDoc::getPDFForm ( )
inline

Get form object of PDF Document. [Support in Server]

Note
If PDFDoc.loadPDFForm() isn't called first, unexperted error will happen.
Returns
{PDFForm}

◆ getPermission()

PDFDoc::getPermission ( )
inline

Get user access permissions. [Support in Server]
If it is the owner of the document, then 4294967292 is put back to indicate full permissions.
.

Deprecated:
Use PDFDoc::getPermissions instead
Returns
{Promise.<number>} User access permission.

◆ getPermissions()

PDFDoc::getPermissions ( )
inline

Get user access permissions. [Support in Server]
If it is the owner of the document, then 4294967292 is put back to indicate full permissions.
.

Returns
{number} User access permission.
Since
7.1.0

◆ getRootBookmark()

PDFDoc::getRootBookmark (   forceRefresh = false)
inline

Get the root bookmark of the document.

Returns
{Promise.<PDFBookmark}>} - root bookmark. Null if no one.

◆ getStream()

PDFDoc::getStream (   writeChunk,
  flag = 0 
)
inline

Gets a PDF file stream that can be used to download documents [Support in Server]

Parameters
writeChunk{Function} - Callbacks in the form of fragment flows: function ({arrayBuffer, offset, size}) {} - arrayBuffer: fragment stream, offset: fragment offset, size: fragment size
flagnumber - Document saving flags. Please refer to Saving_Flag. Default: Saving_Flag::normal.
Returns
{Promise<number>} - The total size of the stream
Example:
function example (pdfDoc) {
let bufferArray = [];
return pdfDoc.getStream(function ({arrayBuffer, offset, size}) {
bufferArray.push(arrayBuffer);
}).then(function (size) {
console.log('The total size of the stream', size)
return new Blob(bufferArray, {type: 'application/pdf'});
})
}
See also
getPDFFile

◆ getText()

PDFDoc::getText (   pages)
inline

Gets the text content of the specified pages XFA documents are not supported.

Parameters
pages{Array} - The page index where content will be extracted.
Returns
TaskProgress<GetTextProgressData>
function example(pdfDoc) {
const pageRange = PDFViewCtrl.shared.getRanges([0,2],4)
const progress = pdfDoc.getText(pageRange);
const removeOnProgressListener = progress.onProgress(data => {
console.log(data); // {percent, content} percent - The percentage of progress; content - The text content of pages
});
setTimeout(() => {
removeOnProgressListener();
progress.cancel(); // cancelled after 1 second
}, 1000)
}
Since
8.2.0

◆ getTextSearch()

PDFDoc::getTextSearch (   pattern,
  flags 
)
inline

Get text search object. [Support in Server]

Parameters
pattern{string} - Specifies text to search.
flags{number} - The following bit of flags can be used individually or in combination.
0: No special searching options.
1: If set, match the case of keyword when searching.
2: If set, match the whole word of keyword when searching.
4: If set, match the key word consecutively when searching. For example, "CC" will be matched twice in "CCC".
Returns
{DocTextSearch}
Example:
function example (pdfDoc) {
var textSearch = pdfDoc.getTextSearch('Foxit', 1 | 2);
textSearch.findNext().then(function (match) {
if (match) {
console.log(match);
console.log(match.getSentence());
}
})
}

◆ getUserPermissions()

PDFDoc::getUserPermissions ( )
inline

Get user access permissions. [Support in Server]

Returns
{number}

◆ hasForm()

PDFDoc::hasForm ( )
inline

Call this function to determine whether the document contains pdf form.

Returns
{Promise.<boolean>} true means the document contains form, false otherwise
Since
7.5.0

◆ importAnnotsFromFDF()

PDFDoc::importAnnotsFromFDF (   fdf,
  escape = true 
)
inline

Import data from an FDF file specified by array buffer. [Support in Server]

Parameters
fdf{File|Blob|ArrayBuffer|TypeArray|ViewData} - Specify fdf file's stream.
escape{boolean} - Skip annotationImportedEx event
Returns
{Promise.<T>}

◆ importAnnotsFromJSON()

PDFDoc::importAnnotsFromJSON (   annotsJson)
inline

Import data from Json. [Support in Server]

Parameters
annotsJson{IAnnotationSummary[]} - Specify annots' json array.
See also
PDFViewCtrl::pdf::Annot::exportToJson()
Returns
{Promise<void>}

◆ importFormFromFile()

PDFDoc::importFormFromFile (   file,
  format,
  encoding = 'UTF-8' 
)
inline

Import form data from an FDF file specified by array buffer.

Parameters
file{File|Blob|ArrayBuffer|TypeArray|ViewData} - Specify fdf file's stream.
format{number} - File format. Please refer to File_Type.
encoding{string} - File encoding. Available values are same as second parameter of FileReader.readAsText.
Returns
{Promise.<T>}
pdfDoc.importFormFromFile(file,File_Format.csv,'GBK')

◆ insertBlankPages()

PDFDoc::insertBlankPages (   pageRange,
  width,
  height 
)
inline

Insert a new blank PDF page to the specified pages, by indexes.

Parameters
pageRange{Array} - A two-dimensional array of page indices(starts from 0) which would be inserted. Only positive integer in valid page range is available. For example, [[0],[2,4],[5,7]] means page 0, page 2 to page 3, and page 5 to page6 will be inserted.
width{number} - Width of new page.
height{number} - Height of new page.
Returns
{Promise.<[PDFPage]>} - The new PDFPage objects which represents these blank pages.
Example:
async function example (pdfDoc) {
const page1 = await pdfDoc.getPageByIndex(0);
const width = await page1.getWidth();
const height = await page1.getHeight();
let result = await pdfDoc.insertBlankPages([[1],[2,4]],width,height);
return result;
}
Since
7.6.0

◆ insertPage()

PDFDoc::insertPage (   pageIndex,
  width,
  height 
)
inline

Insert a new blank PDF page to document, by index. [Support in Server]

Parameters
pageIndex{number} - The page index for new page.
width{number} - Width of new page.
height{number} - Height of new page.
Returns
{Promise.<PDFPage>} - A new PDFPage object which represents a blank page.

◆ insertPages()

PDFDoc::insertPages (   {destIndex, file, password="", flags=0, layerName="", startIndex, endIndex})
inline

Start to import pages from another PDF document.

Parameters
insertOptions{object} - Options for inserting pages.
insertOptions.destIndex{number} - A page index in current PDF document. Default value:0. If less than 0 or more than total page, will throw error.
insertOptions.file{File|Blob|ArrayBuffer|TypeArray|ViewData} - Specify PDF file's stream where pages will be exported from.
insertOptions.password{string} - Specify document's password. It can be left empty.
insertOptions.flags{number} - Options for importing pages.0:Import pages normally.1:Import pages with layers. Default value:0.
insertOptions.layerName{string} - The name of non-selectable label or the prefix name of the non-selectable label to be shown in layer panel of application.If parameter flags is 1, this should not be empty and should be a valid string. If parameter flags is not 1, this string will be ignored.
insertOptions.startIndex{number} - The start index of a range segment. Default value:0. Support negative number, but if total page is 11, the -12 will throw error.
insertOptions.endIndex{number} - The end index of a range segment. Default value:0. Support negative number, but if total page is 11, the -12 will throw error.
Returns
{Promise.<PDFPage[]>} - Page information array.

◆ isDocModified()

PDFDoc::isDocModified ( )
inline

Call this function to determine whether the document is modified if modified return true, false otherwise. [Support in Server]

Returns
{boolean}
Since
7.2.0

◆ isLinearized()

PDFDoc::isLinearized ( )
inline

Call this function to determine whether the document is represented in linearized (fast web view) format.

Returns
{Promise.<boolean>} true means linearized, false otherwise
Since
7.2.0

◆ loadPDFForm()

PDFDoc::loadPDFForm ( )
inline

Load form data of PDF document. [Support in Server]

Returns
{Promise.<PDFForm>}

◆ makeRedactByPages()

PDFDoc::makeRedactByPages (   pages)
inline

Mark pages which are to be redacted.

Parameters
pages{Array[number]} - page index array which pages to be redacted.
Returns
{Promise.<Array<Annot>>}

◆ movePagesTo()

PDFDoc::movePagesTo (   pageRange,
  destIndex = 0 
)
inline

Move the specified pages to a new index position.

Parameters
pageRange{Array} - A two-dimensional array of page indices(starts from 0) which would be moved. Only positive integer in valid page range is available. For example, [[0],[2,4],[5,7]] means page 0, page 2 to page 3, and page 5 to page6 will be moved.
destIndex{number} - A page index in current PDF document. Default value:0. If less than 0 or more than total page, will throw error.
Returns
{Promise.<Array>} - page id list
Example:
async function example (pdfDoc) {
let result = await pdfDoc.movePagesTo([[0],[2,4]],1);
return result;
}
Since
7.6.0

◆ movePageTo()

PDFDoc::movePageTo (   pageIndex,
  destIndex 
)
inline

Move a specified page to a new index position. [Support in Server]

Parameters
pageIndex{number} - Index of the specified page.
destIndex{number} - Index of the destination position.
Returns
{Promise.<boolean>} - TRUE means success, while FASLE means failure.

◆ removeHeaderFooter()

PDFDoc::removeHeaderFooter ( )
inline

Revmove all headers and foonters of document.

Since
7.2.0
Returns
{Promise.<*>}

◆ removePage()

PDFDoc::removePage (   pageIndex)
inline

Remove a PDF page by page index. [Support in Server]

Parameters
pageIndex{number} - Index of the specified page.
Returns
{Promise.<boolean>} - TRUE means success, while FASLE means failure.

◆ removePages()

PDFDoc::removePages (   pageRange)
inline

Remove the specified pages by page indexes.

Parameters
pageRange{Array} - A two-dimensional array of page indices(starts from 0) which would be removed. Only positive integer in valid page range is available. For example, [[0],[2,4],[5,7]] means page 0, page 2 to page 3, and page 5 to page6 will be removed.
Returns
{Promise.<boolean>} - TRUE means success, while FALSE means failure.
Example:
async function example (pdfDoc) {
let result = await pdfDoc.removePages([[0],[2,4]]);
return result;
}
Since
7.6.0

◆ rotatePages()

PDFDoc::rotatePages (   pageRange,
  rotation 
)
inline

Set the specified pages rotation.

Parameters
pageRange{Array} - A two-dimensional array of page indices(starts from 0) which would be rotated. Only positive integer in valid page range is available. For example, [[0],[2,4],[5,7]] means page 0, page 2 to page 3, and page 5 to page6 will be rotated.
rotation{number} - Rotation to be set. Please refer to Rotation.
Example:
async function example (pdfDoc) {
await pdfDoc.rotatePages([[0],[2,4]],Rotation.rotation1)
}
Since
7.6.0

◆ setLayerNodeVisible()

PDFDoc::setLayerNodeVisible (   layerId,
  visible 
)
inline

Set the visibility of a specified layer node.

Parameters
layerId{string|number} - string ID of a layer node.
visiable{boolean} - true means visible, and false means invisible.
Returns
{Promise.<boolean>}

◆ setMetadataValue()

PDFDoc::setMetadataValue (   key,
  value 
)
inline

Set metadata value.

Parameters
key{string} - Metadata key string. It should not be an empty string. Currently it can be one of the following keys: "Title", "Author", "Subject", "Keywords", "Creator", "Producer", "Trapped", "CreationDate", "ModDate", "pdfaid". It can also be some other custom information keys if they're supported by the PDF file.
value{string} - An string value of metadata value.

◆ setPasswordAndPermission()

PDFDoc::setPasswordAndPermission (   userPassword,
  ownerPassword,
  permission = 0xfffffffc,
  cipher = cipherType.AES256,
  isEncryptMetadata = true 
)
inline

Set document password and permission.

Parameters
userPassword{string} - user password.
ownerPassword{string} - owner password.
permission{number} - User_Permissions 32bit numbers, Print PDF document with normal mode. (Bit 3 ); Modify PDF contents. (Bit 4);Extract PDF contents. (Bit 5);Operate text annotations and fill in interactive form fields. (Bit 6);Fill PDF form. (Bit 9);Disabilities support. (Bit 10);Assemble PDF document. (Bit 11);Print PDF document with higher qualities. (Bit 12);
cipher{string} - Cipher type string. Available values: "none", "rc4", "aes128", "aes256"
isEncryptMetadata{boolean} - true means to encrypt metadata, and false means not to encrypt metadata
Returns
{Promise.<boolean>} - TRUE means success, while FALSE means failure

◆ sign()

PDFDoc::sign (   signInfo,
  DigestSignHandler 
)
inline

Get signature file stream without signed data.

Note
If the current document has an existing signature field, a field name will be passed to the signInfo.fieldName. If the value of signInfo.fieldName is absent, this function will add a new signature field.
Parameters
signInfo{object} - Specifies signature info.
signInfo.filter{object} - Specifies signature info.
signInfo.subfilter{object} - Specifies signature info.
[signInfo.rect]{PDFRect} - (Required if fieldName is absent)Position of signature.
[signInfo.pageIndex]{number} - (Required if fieldName is absent) Specify a page index on which this signature will appear.
[signInfo.flag=0x100]{number} - The appearance flag for signing. Please refer to Signature_Ap_Flags.
[signInfo.signer]{string} - The signer of the signature.
[signInfo.reason]{string} - The reason for signing.
[signInfo.email]{string} - The email of the signing.
[signInfo.image]{string} - (e.g. BLOB URL, HTTP, HTTPS, and Base64URL)The image for singing.
[signInfo.distinguishName]{string} - The distinguished name of signing.
[signInfo.location]{string} - The location of signing.
[signInfo.text]{string} - The signing descriptive information.
[signInfo.fieldName]{string} - (Required if rect and pageIndex are absent) Specifies which field to be signed.
DigestSignHandler{(signInfo,plainBuffer)=>Promise<ArrayBuffer>} - The digest and sign handler.
Returns
{Promise<arrayBuffer>} - An object with file buffer and byte range.
Since
7.4.0
pdfdoc.sign({
filter: 'Adobe.PPKLite',
subfilter: 'adbe.pkcs7.sha1',
flag: 0x1f0,
distinguishName: 'e=foxitsdk@foxitsoftware.cn',
location: 'bj',
reason: 'TestBJ',
signer: 'web sdk11',
showTime: true,
image: 'data:image/png;base64,iVBORw0...',
},function sign(signInfo,plainBuffer){
return Promise.resolve(certifySign(plainBuffer))
})

◆ updateHeaderFooter()

PDFDoc::updateHeaderFooter (   headerFooter)
inline

Modify header or footer of documents. If there is no header or footer, this function will add one.

Since
7.2.0
Parameters
headerFooter{HeaderFooter} - HeaderFooter object.
Returns
{Promise.<*>}

◆ verifySignature()

PDFDoc::verifySignature (   field,
  VerifyHandler 
)
inline

Verify signature's status.

Parameters
field{PDFField} - The signature field to be verified.
VerifyHandler{(signatureField,plainBuffer,signedData,hasDataOutOfScope)=>Promise<number>} - Verify handler which is used to check signature's validity.
Returns
{number} - Signature's status. Please refer to Signature_State.
Since
7.4.0
pdfdoc.verifySignature(field,function(signatureField,plainBuffer,signedData,hasDataOutOfScope){
var digest = calc(plainBuffer);
return Promise.resolve(certifyVerify(digest,signedData))
})

Foxit Software Corporation Logo
@2021 Foxit Software Incorporated. All rights reserved.