Skip to content

Overview

The <pdf-document> tag creates an invisible component that manages a single PDF document. Use it in conjunction with other components, such as a page viewer or thumbnail viewer, to display, modify, and save a PDF document.

The pdf-document component manages one PDF document. It can represent a stored document or a new document, plus any unsaved changes.

It does not hold any view state, such as the currently visible page. View state is stored by various view components.

Any number of pdf-document components may be constructed; each represents a separate PDF document. For example, to construct an application that copies pages from one document to another, two pdf-document components would be needed, one for the source document, one for the target document.

The pdf-document accepts a name property. This name is used by other components to reference the document and distinguish it from other pdf-document instances. Therefore, each pdf-document must have a unique name. If not specified, the name is assigned the value default. For example, this code:

html
<pdf-document name="document1" />
<pdf-document name="document2" />
<pdf-uploader document="document1" />

declares a pdf-uploader component which will upload a document (from a local file system, for example) into the pdf-document component named "document1".

The pdf-document has four basic methods that operate on the entire PDF:

  • open(id: string) retrieves the named PDF from storage and opens it inside the pdf-document component.
  • close() discards the current PDF document.
  • new() creates a new, empty PDF document.
  • save() commits unsaved changes to the PDF and saves the PDF to storage. If the document was new, a new ID is created for the document.

In addition, pdf-document offers other methods that operate on the document, for example, to set a field value. See the Methods section below for more information.

Properties

PropertyAttributeDescriptionTypeDefault
namenameUnique ID used by other components to reference this pdf-document component.string'default'
pdfidpdfidIf specified, automatically opens the named document. A value of "new" creates a new document.string | undefinedundefined

Events

EventDescriptionType
formdatachangedForm data has changed.CustomEvent<{ fieldName: string; fieldValue: string | undefined; }[]>
loadedThe document has loaded. All get methods such as getFields return expected values.CustomEvent<string>
unloadedThe document has unloaded. Methods such as getFields do not return expected values.CustomEvent<void>

Methods

close() => Promise<void>

Close the PdfDocument

Returns

Type: Promise<void>

download() => Promise<ApiRequest<void, string> | null>

Download document

Returns

Type: Promise<ApiRequest<void, string> | null>

downloadAs(format: 'docx' | 'pptx') => Promise<ApiRequest<void, string> | null>

This function converts the current PDF document to either DOCX or PPTX format and initiates a download.

Parameters

NameTypeDescription
format"docx" | "pptx"

Returns

Type: Promise<ApiRequest<void, string> | null>

getFields() => Promise<IPdfField[]>

Get document fields.

Use this method if you want to get access to the definitions of form fields in the Pdf document.

If you are only interested in the entered data use getFormData.

Returns

Type: Promise<IPdfField[]>

getFormData() => Promise<{ [key: string]: string; }>

Get form data.

Use this method if you want to get access to the data entered in form fields.

If you are interested in the field definitions of the form fields use getFields.

Returns

Type: Promise<{ [key: string]: string; }>

getSummary() => Promise<IPdfDocument | null>

Get document summary

Returns

Type: Promise<IPdfDocument | null>

new() => Promise<void>

Open a new PdfDocument

Returns

Type: Promise<void>

open(id: string) => Promise<IPdfDocument | null>

Open a PdfDocument by document id

Parameters

NameTypeDescription
idstring

Returns

Type: Promise<IPdfDocument | null>

openFile(file: File) => Promise<IPdfDocument | null>

Load a PdfDocument from File

Parameters

NameTypeDescription
fileFile

Returns

Type: Promise<IPdfDocument | null>

save(fileName?: string) => Promise<null | IPdfDocument>

Save the PdfDocument. Note that after saving, the document always has a new ID.

Parameters

NameTypeDescription
fileNamestring | undefined

Returns

Type: Promise<IPdfDocument | null>

setFormData(data: { [key: string]: string; }) => Promise<void>

Set form data

Use this method if you want to set the data entered by a user in form fields.

Parameters

NameTypeDescription
data{ [key: string]: string; }

Returns

Type: Promise<void>

setOptions(fieldName: string, options: ListOptionModel[]) => Promise<void>

Set options

Parameters

NameTypeDescription
fieldNamestring
optionsListOptionModel[]

Returns

Type: Promise<void>


Built with StencilJS