Web SDKv1.0.0

PDFExporter.download()

Download PDF as a file. A download confirms itself in one line ("Saved · 6 pages, 1.2 MB"); export.successToast: false drops the line. Needs export.
methodExportsince 1.0.0

Signature

download(filename?: string, options?: ExportOptions): Promise<DownloadResult>

Parameters

ParameterTypeDescription
filename?stringThe file name; export.defaultFilename when omitted.
options?ExportOptions{ flatten?, invalidateSignatures?, pages?, onProgress?, signal? }.

Returns

Promise<DownloadResult> { sizeBytes, pdfA? } — the file's size in bytes and, for a document that claims PDF/A, whether the file saved still claims it: 'kept' for a document nobody changed, 'dropped' for a changed one, or a page range.

Throws

  • FEATURE_NOT_LICENSED when the license lacks export.
  • INVALID_ARGUMENT when pages is empty or names a page the document does not have.
  • INVALID_STATE when flatten is asked of a signed document without invalidateSignatures; from a viewer's exporter, when pending edits cannot be written or the document was reloaded under it.
  • PAGE_ERROR when a page cannot be loaded for flattening.
  • EXPORT_FAILED when the document cannot be written.
  • ABORTED when signal aborts.
  • DOCUMENT_CLOSED after doc.close().

Example

TypeScript
const result = await viewer.createExporter().download('signed.pdf', {
  flatten: true,
  onProgress: (done, total) => setProgress(done / total),
});
console.log(result.sizeBytes);

More in PDFExporter