[API](/solutions/geotoolkit/geotoolkit_js/apis/readme) / [geotoolkit](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit) / [report](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.report) / [Document](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.report#document) / Document

# Class: Document

[report](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.report).[Document](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.report#document).Document

Define parsed document

## Implements

- [`IDisposable`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.idisposable.idisposable)


## Table of contents

Constructors
- [new Document(context)](/solutions/geotoolkit/GeoToolkit_JS/apis/classes/geotoolkit.report.document.document.md#new document(context))


Methods
| [dispose](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.report.document.document#dispose) | [exportToPdf](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.report.document.document#exporttopdf) | [getClassName](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.report.document.document#getclassname) |
|  --- | --- | --- |
| [getDefaultPrintSettings](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.report.document.document#getdefaultprintsettings) | [getDocument](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.report.document.document#getdocument) | [getDomElement](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.report.document.document#getdomelement) |
| [getPageFooterElement](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.report.document.document#getpagefooterelement) | [getPageHeaderElement](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.report.document.document#getpageheaderelement) | [getProperty](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.report.document.document#getproperty) |
| [getRootElement](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.report.document.document#getrootelement) | [hasOwnProperty](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.report.document.document#hasownproperty) | [parseDomElements](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.report.document.document#parsedomelements) |
| [getClassName](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.report.document.document#getclassname-1) |


## Contents

Constructors
#### new Document(context)

• **new Document**(`context`)

#### Parameters

| Name  | Type  |
|  --- | --- |
| `context` | [`ParserContext`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.report.parsercontext.parsercontext) |


Methods
#### dispose

▸ **dispose**(): `void`

Dispose.

#### Returns

`void`

#### Implementation of

[IDisposable](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.idisposable.idisposable).[dispose](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.idisposable.idisposable#dispose)

#### exportToPdf

▸ **exportToPdf**(`options?`): `Promise`<[`IWritable`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.stream.iwritable.iwritable)&gt;

Exports the widget content as a PDF file, user has option to select the scale of track in pdf.

**`Example`**

```ts
// following example shows how to use exportPdf to get stream without downloading PDF
// and create Blob based on it
document.exportPdf({
'skipoutput': true,
...
}).then((stream) =&gt; {
const content = stream.getContent();
const blob = new Blob(&#91;content&#93;, {'type': 'application/pdf'});
const url = URL.createObjectURL(blob);
...
});
```

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `Optional` `options` | [`ExportToPdfOptions`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.report#document#exporttopdfoptions) | export options |


#### Returns

`Promise`<[`IWritable`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.stream.iwritable.iwritable)&gt;

promise with output stream

#### getClassName

▸ **getClassName**(): `string`

#### Returns

`string`

#### getDefaultPrintSettings

▸ **getDefaultPrintSettings**(): [`DefaultPrintSettings`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.report#document#defaultprintsettings)

Return default print settings

#### Returns

[`DefaultPrintSettings`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.report#document#defaultprintsettings)

default print settings

#### getDocument

▸ **getDocument**(): [`CompositeElement`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.report.elements-1.compositeelement.compositeelement)

Return Document Element

#### Returns

[`CompositeElement`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.report.elements-1.compositeelement.compositeelement)

#### getDomElement

▸ **getDomElement**(): [`Document`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.report.dom.elements.document.document)

Returns dom document element

#### Returns

[`Document`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.report.dom.elements.document.document)

document element

#### getPageFooterElement

▸ **getPageFooterElement**(`options?`): [`PageElement`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.exports.pageelement.pageelement)

Returns exportable page footer element

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `Optional` `options` | [`PageInfo`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.scene#pagecontext#pageinfo) | export options |


#### Returns

[`PageElement`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.exports.pageelement.pageelement)

return exportable element

#### getPageHeaderElement

▸ **getPageHeaderElement**(`options?`): [`PageElement`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.exports.pageelement.pageelement)

Returns exportable page header element

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `Optional` `options` | [`PageInfo`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.scene#pagecontext#pageinfo) | export options |


#### Returns

[`PageElement`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.exports.pageelement.pageelement)

return exportable element

#### getProperty

▸ **getProperty**(`propertyName`, `defaultValue?`): `string` | `number` | `object`

Return known property value

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `propertyName` | `string` | property name |
| `Optional` `defaultValue` | `string` | `number` | `object` | property default value |


#### Returns

`string` | `number` | `object`

property value

#### getRootElement

▸ **getRootElement**(`width?`, `height?`): [`Element`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.report.elements-1.element.element)

Returns root element

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `Optional` `width` | `number` | width |
| `Optional` `height` | `number` | height |


#### Returns

[`Element`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.report.elements-1.element.element)

root element

#### hasOwnProperty

▸ **hasOwnProperty**(`propertyName`): `boolean`

Returns returns a boolean indicating whether the object has the specified property as its own property.

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `propertyName` | `string` | property name |


#### Returns

`boolean`

#### parseDomElements

▸ **parseDomElements**(`xml`): `Promise`<[`Node`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.report.dom.node.node)[]&gt;

Parse DOM elements

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `xml` | `string` | XML template |


#### Returns

`Promise`<[`Node`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.report.dom.node.node)[]&gt;

#### getClassName

▸ `Static` **getClassName**(): `string`

#### Returns

`string`