Exportador de PDF
O serviço Ignite UI for Angular PDF Exporter oferece funcionalidades poderosas para exportar dados em formato PDF de várias fontes, incluindo arrays de dados brutos e componentes avançados de grade como IgxGrid, IgxTreeGrid, IgxHierarchicalGrid e IgxPivotGrid. A funcionalidade de exportação está encapsulada naIgxPdfExporterService classe, que permite a exportação contínua de dados para formato PDF com recursos abrangentes, incluindo suporte a documentos de várias páginas, quebras automáticas de página e opções de formatação personalizáveis.
Angular PDF Exporter Example
Usage
Para começar a usar o Ignite UI PDF Exporter, primeiro importe paraIgxPdfExporterService o seu componente:
import { IgxPdfExporterService } from 'igniteui-angular/grids/core';
// import { IgxPdfExporterService } from '@infragistics/igniteui-angular/grids/core'; for licensed package
@Component({
...
})
export class AppComponent { ... }
Para iniciar um processo de exportação, você pode usar um handler de clique de botão no template do seu componente.
<button (click)="exportButtonHandler()">Export Data to PDF</button>
Você pode acessar usandoIgxPdfExporterService ainject função. Para exportar dados em formato PDF, você precisa invocar o método doexportData serviço exportador. Esse método aceita os dados que você deseja exportar como seu primeiro argumento, e umaIgxPdfExporterOptions instância como seu segundo argumento, o que permite configurar o processo de exportação.
Aqui está o código que executará o processo de exportação no arquivo TypeScript do componente:
// 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'));
}
Se tudo correu bem, você deve ver um botão de exportação. Ao pressionar, ele aciona o processo de exportação e o navegador baixa um arquivo chamado "ExportedDataFile.pdf" que contém os dados dolocalData array em formato PDF.
Customizing the Exported Content
Nos exemplos acima, o serviço PDF Exporter exporta todos os dados disponíveis. No entanto, há situações em que você pode querer pular a exportação de uma linha ou de uma coluna inteira. Para isso, você pode assinar oscolumnExporting eventos e/ourowExporting eventos, que são disparados para cada coluna e/ou cada linha, respectivamente. Você pode então cancelar a exportação definindo a propriedade do objetocancel do argumento de evento paratrue.
O exemplo a seguir exclui uma coluna da exportação se seu cabeçalho for "Idade" e seu índice for 1:
// 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
AIgxPdfExporterOptions classe oferece várias propriedades para personalizar a exportação em PDF:
- Orientação da página: Especifica a orientação da página (
portraitoulandscape). O padrão élandscape. - Tamanho da página: Especifica o tamanho da página (
a3,a4,a5,letter,legal, etc.). O padrão éa4. - mostrarBordasTabelas: Determina se exibir as bordas da tabela. O padrão é
true. - fontSize: Define o tamanho da fonte para o conteúdo da tabela. O padrão é
10.
O exemplo a seguir demonstra como configurar essas opções:
// 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
| Limitação | Descrição |
|---|---|
| Layouts PDF amplos | Grades muito largas podem forçar colunas do PDF a encolherem para caber na página. Aplique larguras de coluna explícitas ou oculte campos de baixa prioridade antes de exportar para manter o documento legível. |
API References
O serviço PDF Exporter tem mais algumas APIs para explorar, que estão listadas abaixo.
Componentes adicionais que foram usados: