HTML JPG PDF XML DOCX
  Product Family
PDF

Adicionar Tabela ao PDF no Node.js SDK

API para trabalhar com Tabela em documentos PDF usando Cloud Node.js SDK

Get Started

Como adicionar Tabela ao PDF via Node.js SDK

Para adicionar Tabela ao PDF, usaremos Aspose.PDF Cloud Node.js SDK. Este Cloud SDK auxilia programadores Node.js no desenvolvimento de aplicativos de criação, anotação, edição e conversão de PDF baseados em nuvem usando a linguagem de programação Node.js via Aspose.PDF REST API. Basta criar uma conta em Aspose for Cloud e obter as informações do seu aplicativo. Uma vez que você tenha o App SID e a chave, estará pronto para usar o Aspose.PDF Cloud Node.js SDK.

Comando do Console do Gerenciador de Pacotes


     
    npm install asposepdfcloud --save
     
     

Passos para adicionar Tabela ao PDF via Cloud Node.js

Os desenvolvedores do Aspose.PDF Cloud podem facilmente carregar e adicionar Tabela ao PDF em apenas algumas linhas de código.

  1. Leia o arquivo PDF local.
  2. Carregue o arquivo PDF no armazenamento Aspose PDF Cloud.
  3. Crie a tabela com o layout desejado.
  4. Baixe o arquivo PDF atualizado do armazenamento Aspose PDF Cloud.
 

Adicionar Tabela ao PDF usando Node.js


    import credentials from "../../../../Credentials/credentials.json"  with { type: "json" };
    import fs from 'node:fs/promises';
    import path from 'node:path';
    import { PdfApi } from "../../../src/api/api.js";
    import { Table } from "../../../src/models/table.js";
    import { Cell } from "../../../src/models/cell.js";
    import { FontStyles } from "../../../src/models/fontStyles.js";
    import { GraphInfo } from "../../../src/models/graphInfo.js";
    import { Row } from "../../../src/models/row.js";
    import { TextRect } from "../../../src/models/textRect.js";

    const configParams = {
        LOCAL_FOLDER: "C:\\Samples\\",
        PDF_DOCUMENT_NAME: "sample.pdf",
        LOCAL_RESULT_DOCUMENT_NAME: "output_sample.pdf",
        PAGE_NUMBER: 2,     // Your document page number...
        TABLE_ROWS: 5,
        TABLE_COLUMNS: 5,
    };

    const pdfApi = new PdfApi(credentials.id, credentials.key);

    const pdfTables = {
    async uploadDocument () {
            const fileNamePath = path.join(configParams.LOCAL_FOLDER, configParams.PDF_DOCUMENT_NAME);
            const pdfFileData = await fs.readFile(fileNamePath);
            await pdfApi.uploadFile(configParams.PDF_DOCUMENT_NAME, pdfFileData);
            console.log("File '" + configParams.PDF_DOCUMENT_NAME + "' successfully uploaded!");
        },
                        
        async downloadResult () {
            const changedPdfData = await pdfApi.downloadFile(configParams.PDF_DOCUMENT_NAME);
            const filePath = path.join(configParams.LOCAL_FOLDER, configParams.LOCAL_RESULT_DOCUMENT_NAME);
            await fs.writeFile(filePath, changedPdfData.body);
            console.log("Downloaded: " + filePath);
        },

        initTable () {
            const numOfCols = configParams.TABLE_COLUMNS;
            const numOfRows = configParams.TABLE_ROWS;

            const headerTextState = {
                font: "Arial Bold",
                fontSize: 11,
                foregroundColor: { a: 0xFF, r: 0xFF, g: 0xFF, b: 0xFF },
                fontStyle: FontStyles.Bold,
            };

            const commonTextState = {
                font: "Arial Bold",
                fontSize: 11,
                foregroundColor: { a: 0xFF, r: 0x70, g: 0x70, b: 0x70 },
            };
        
            const table = new Table();
            table.rows = [];
        
            let colWidths = "";
            for (let colIndex = 0; colIndex < numOfCols; colIndex++)
            {
                colWidths += " 70";
            }
        
            table.columnWidths = colWidths;
        
            const borderTableBorder = new GraphInfo();
            borderTableBorder.color = { a: 0xFF, r: 0x00, g: 0xFF, b: 0x00 };
            borderTableBorder.lineWidth = 0.5;
        
            table.defaultCellBorder = {
                top: borderTableBorder,
                right: borderTableBorder,
                bottom: borderTableBorder,
                left: borderTableBorder,
                roundedBorderRadius: 0
            };
            table.left = 150;
            table.top = 250;
        
            for (let rowIndex = 0; rowIndex < numOfRows; rowIndex++)
            {
                const row = new Row();

                row.cells = [];
        
                for (let colIndex = 0; colIndex < numOfCols; colIndex++)
                {
                    const cell = new Cell();
                    
                    cell.defaultCellTextState = commonTextState;

                    if (rowIndex == 0)  // header cells
                    {
                        cell.backgroundColor = { a: 0xFF, r: 0x80, g: 0x80, b: 0x80 };
                        cell.defaultCellTextState = headerTextState;
                    }
                    else {
                        cell.backgroundColor = { a: 0xFF, r: 0xFF, g: 0xFF, b: 0xFF };
                    };
                
                    const textRect = new TextRect();
                    if (rowIndex == 0)
                        textRect.text = "header #" + colIndex;
                    else
                        textRect.text = "value #'(" + rowIndex + "," + colIndex + "')";
                    cell.paragraphs = [textRect];

                    row.cells.push(cell);
                }
                table.rows.push(row);
            }
            return table;
        },

        async addTableOnPage () {
            const jsonTable = this.initTable();

            const resultTabs = await pdfApi.postPageTables(configParams.PDF_DOCUMENT_NAME, configParams.PAGE_NUMBER, [ jsonTable ]);

            if (resultTabs.body.code == 200) {
                console.log("Table successfully added!");
                return resultTabs.body.table;
            }
            else
                comsole.error("Unexpected error : can't get links!!!");
        },
    }

    async function main() {
        try {
            await pdfTables.uploadDocument();
            await pdfTables.addTableOnPage();
            await pdfTables.downloadResult();
        } catch (error) {
            console.error("Error:", error.message);
        }
    }
 

Trabalhar com Tabela em PDF

As tabelas fornecem um formato estruturado para apresentar dados de forma sistemática, facilitando aos leitores o entendimento e a análise das informações. Elas também melhoram o apelo visual de um documento, adicionando profissionalismo e organização. Ao lidar com dados numéricos ou comparativos, as tabelas melhoram a clareza ao agrupar informações relacionadas em um formato fácil de ler. Além disso, as tabelas podem incorporar conteúdo em tempo real ou gerado dinamicamente, como dados de bancos de dados ou painéis de análise. Adicione a Tabela em documentos PDF com Aspose.PDF Cloud Node.js SDK.

Com nossa biblioteca Node.js você pode:

  • Adicionar cabeçalho e rodapé de documento PDF em formato de texto ou imagem.
  • Adicionar tabelas e carimbos (texto ou imagem) a documentos PDF.
  • Anexar vários documentos PDF a um arquivo existente.
  • Trabalhar com anexos, anotações e campos de formulário em PDF.
  • Aplicar criptografia ou descriptografia a documentos PDF e definir uma senha.
  • Excluir todos os carimbos e tabelas de uma página ou de todo o documento PDF.
  • Excluir um carimbo ou tabela específico do documento PDF pelo seu ID.
  • Substituir uma ou várias instâncias de texto em uma página PDF ou em todo o documento.
  • Suporte extensivo para converter documentos PDF em vários outros formatos de arquivo.
  • Extrair vários elementos de arquivos PDF e otimizar documentos PDF.
  • Você pode experimentar nosso App gratuito para extrair Tabela em arquivos PDF online e testar a funcionalidade.