Skip to content
This repository was archived by the owner on Jun 8, 2026. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
8e3b289
fix(toc): temporarily remove chart user annotations entry from table …
randriova Nov 27, 2025
4947dbe
Merge pull request #6294 from IgniteUI/localization-toc-fixes-vnext
ChronosSF Nov 27, 2025
6b1d16c
docs(*): change-toolbar-license
radomirchev Nov 27, 2025
c9b8c87
feat(toolbar): add pdf related info & update snippets (#6299)
onlyexeption Dec 1, 2025
93fa9be
Adding Chat topic (#6235)
gedinakova Dec 1, 2025
bb41f5f
Merge pull request #6296 from IgniteUI/rmirchev/toolbar-premium
ChronosSF Dec 1, 2025
9927dc2
Mark color editor as premium
agoldenbaum Dec 1, 2025
d2fd7e9
Merge pull request #6302 from IgniteUI/arg-mark-color-editor-premium
HUSSAR-mtrela Dec 1, 2025
4c4e08d
feat(*): introducing new multiple entry points article
Dec 2, 2025
ae4d7dd
chore(*): adding to TOC
Dec 2, 2025
663a6ac
chore(*): fixing build
Dec 2, 2025
8c528ed
Merge pull request #6304 from IgniteUI/multiple-entry-points
ChronosSF Dec 2, 2025
33880b8
Adding changes from build igniteui-xplat-docs-to-angular-docs-JP+KR_2…
Dec 3, 2025
508c8b7
Adding changes from build igniteui-xplat-docs-to-angular-docs-JP+KR_2…
Dec 3, 2025
ce367bd
Adding changes from build igniteui-xplat-docs-to-angular-docs-EN_2025…
Dec 3, 2025
9a3ccd6
fix(Chat): Fixed types api links (#6308)
gedinakova Dec 3, 2025
ac6c78e
docs(*): JA - add multi entry points guide and update TOC #6304
randriova Dec 3, 2025
f09ce5d
Rmirchev/docs-grid-lite-components (#6300)
radomirchev Dec 3, 2025
53910a3
docs(*): JA - new Chat topic, content enhancements and fixes (#6306)
randriova Dec 3, 2025
bdb5b5d
Merge branch 'vnext' into localization-multiple-entry-points
randriova Dec 3, 2025
5f4243a
Merge pull request #6310 from IgniteUI/ESShared/XPlaform_jp_igniteui-…
ChronosSF Dec 3, 2025
9956c22
Merge branch 'vnext' into ESShared/XPlaform_kr_igniteui-xplat-docs-to…
ChronosSF Dec 3, 2025
fe9446c
Merge pull request #6311 from IgniteUI/ESShared/XPlaform_kr_igniteui-…
ChronosSF Dec 3, 2025
6fe8e94
Merge branch 'vnext' into ESShared/XPlaform_en_igniteui-xplat-docs-to…
ChronosSF Dec 3, 2025
220b015
Merge pull request #6312 from IgniteUI/ESShared/XPlaform_en_igniteui-…
ChronosSF Dec 3, 2025
fe83105
Merge branch 'vnext' into localization-multiple-entry-points
ChronosSF Dec 3, 2025
67f1ac8
Merge pull request #6313 from IgniteUI/localization-multiple-entry-po…
ChronosSF Dec 3, 2025
e575f18
Add PDF exporter topic (#6303)
mtsvyatkova Dec 3, 2025
26be030
chore(*): Adding PDF service to grids' export topics. (#6301)
gedinakova Dec 3, 2025
b7a24e1
feat(licensing): updates for licensing and getting started for OSS ch…
ChronosSF Dec 3, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
419 changes: 419 additions & 0 deletions en/components/chat.md

Large diffs are not rendered by default.

146 changes: 146 additions & 0 deletions en/components/exporter-pdf.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,146 @@
---
title: Export to PDF Component - Native Angular | Ignite UI for Angular
_description: Users can export their data for offline presentation can do so in PDF format with the Export to PDF Ignite UI for Angular component.
_keywords: Ignite UI for Angular, UI controls, Angular widgets, web widgets, UI widgets, Angular, Native Angular Controls, Native Angular Components Suite, Native Angular Controls, Native Angular Components Library, Angular Grid, Angular Data Grid, Angular Grid Control, Angular Grid Component, PDF Export, Angular PDF Component, Angular Export PDF
_license: commercial
---

# PDF Exporter

<p class="highlight">

The Ignite UI for Angular PDF Exporter service provides powerful functionality to export data in PDF format from various sources, including raw data arrays and advanced grid components such as [**IgxGrid**](grid/grid.md), [**IgxTreeGrid**](treegrid/tree-grid.md), [**IgxHierarchicalGrid**](hierarchicalgrid/hierarchical-grid.md), and [**IgxPivotGrid**](pivotGrid/pivot-grid.md). The exporting functionality is encapsulated in the [`IgxPdfExporterService`]({environment:angularApiUrl}/classes/igxpdfexporterservice.html) class, which enables seamless data export to PDF format with comprehensive features including multi-page document support, automatic page breaks, and customizable formatting options.
</p>
<div class="divider"></div>

## Angular PDF Exporter Example


<code-view style="height: 150px;"
data-demos-base-url="{environment:demosBaseUrl}"
explicit-editor="stackblitz"
iframe-src="{environment:demosBaseUrl}/services/export-pdf/" alt="Angular PDF Exporter Example">
</code-view>

<div class="divider--half"></div>

## Usage

To start using the Ignite UI PDF Exporter, first import the [`IgxPdfExporterService`]({environment:angularApiUrl}/classes/igxpdfexporterservice.html) into your component:

```typescript
import { IgxPdfExporterService } from 'igniteui-angular/grids/core';

// import { IgxPdfExporterService } from '@infragistics/igniteui-angular/grids/core'; for licensed package

@Component({
...
})
export class AppComponent { ... }
```

To initiate an export process, you can use a button click handler in your component's template.

```html
<button (click)="exportButtonHandler()">Export Data to PDF</button>
```

You can access the [`IgxPdfExporterService`]({environment:angularApiUrl}/classes/igxpdfexporterservice.html) by using the `inject` function. To export data in PDF format, you need to invoke the exporter service's [`exportData`]({environment:angularApiUrl}/classes/igxpdfexporterservice.html#exportdata) method. This method accepts the data you want to export as its first argument, and an [`IgxPdfExporterOptions`]({environment:angularApiUrl}/classes/igxpdfexporteroptions.html) instance as its second argument, which allows you to configure the export process.

Here is the code that will execute the export process in the component's TypeScript file:

```typescript
// component.ts

...
import { Component, inject, signal } from '@angular/core';
import { IgxPdfExporterService, IgxPdfExporterOptions } from 'igniteui-angular/grids/core';

// import { IgxPdfExporterService, IgxPdfExporterOptions } from '@infragistics/igniteui-angular/grids/core'; for licensed package
...

public localData = signal([
{ Name: 'Eric Ridley', Age: '26' },
{ Name: 'Alanis Brook', Age: '22' },
{ Name: 'Jonathan Morris', Age: '23' }
]);

private pdfExportService = inject(IgxPdfExporterService);

public exportButtonHandler() {
this.pdfExportService.exportData(this.localData, new IgxPdfExporterOptions('ExportedDataFile'));
}

```

If all went well, you should see an export button. When pressed, it will trigger the export process and the browser will download a file named "ExportedDataFile.pdf" which contains the data from the `localData` array in PDF format.

## Customizing the Exported Content

In the above examples, the PDF Exporter service exports all available data. However, there are situations where you may want to skip exporting a row or an entire column. To achieve this, you can subscribe to the [`columnExporting`]({environment:angularApiUrl}/classes/igxpdfexporterservice.html#columnexporting) and/or [`rowExporting`]({environment:angularApiUrl}/classes/igxpdfexporterservice.html#rowexporting) events, which are fired for each column and/or each row respectively. You can then cancel the export by setting the event argument object's [`cancel`]({environment:angularApiUrl}/interfaces/irowexportingeventargs.html#cancel) property to `true`.

The following example excludes a column from the export if its header is "Age" and its index is 1:

```typescript
// component.ts

this.pdfExportService.columnExporting.subscribe((args: IColumnExportingEventArgs) => {
if (args.header == 'Age' && args.columnIndex == 1) {
args.cancel = true;
}
});
this.pdfExportService.export(this.igxGrid1, new IgxPdfExporterOptions('ExportedDataFile'));
```

## PDF Export Options

The [`IgxPdfExporterOptions`]({environment:angularApiUrl}/classes/igxpdfexporteroptions.html) class provides several properties to customize the PDF export:

- **pageOrientation**: Specifies the page orientation (`portrait` or `landscape`). Default is `landscape`.
- **pageSize**: Specifies the page size (`a3`, `a4`, `a5`, `letter`, `legal`, etc.). Default is `a4`.
- **showTableBorders**: Determines whether to display table borders. Default is `true`.
- **fontSize**: Sets the font size for the table content. Default is `10`.

The following example demonstrates how to configure these options:

```typescript
// component.ts

public exportButtonHandler() {
const options = new IgxPdfExporterOptions('ExportedDataFile');
options.pageOrientation = 'portrait';
options.pageSize = 'letter';
options.showTableBorders = true;
options.fontSize = 12;

this.pdfExportService.exportData(this.localData, options);
}
```

## Known Limitations

| Limitation | Description |
|---|---|
| Wide PDF layouts | Very wide grids can force PDF columns to shrink to fit the page. Apply explicit column widths or hide low‑priority fields before exporting to keep the document legible. |

## API References

The PDF Exporter service has a few more APIs to explore, which are listed below.

- [`IgxPdfExporterService API`]({environment:angularApiUrl}/classes/igxpdfexporterservice.html)
- [`IgxPdfExporterOptions API`]({environment:angularApiUrl}/classes/igxpdfexporteroptions.html)

Additional components that were used:

- [IgxGridComponent API]({environment:angularApiUrl}/classes/igxgridcomponent.html)
- [IgxGridComponent Styles]({environment:sassApiUrl}/themes#function-grid-theme)

<div class="divider"></div>

## Additional Resources

<div class="divider--half"></div>
Our community is active and always welcoming to new ideas.

- [Ignite UI for Angular **Forums**](https://www.infragistics.com/community/forums/f/ignite-ui-for-angular)
- [Ignite UI for Angular **GitHub**](https://github.com/IgniteUI/igniteui-angular)
Loading