HTML JPG PDF XML DOCX
  Product Family
PDF

Substituir Tabelas em PDF no Node.js SDK

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

Get Started

Como substituir Tabelas em PDF via Node.js SDK

Para substituir Tabelas em PDF, usaremos Aspose.PDF Cloud Node.js SDK. Este Cloud SDK auxilia programadores Node.js a desenvolver aplicativos para criação, anotação, edição e conversão de PDF na nuvem usando a linguagem de programação Node.js através do Aspose.PDF REST API. Simplesmente crie uma conta no Aspose for Cloud e obtenha suas informações de aplicativo. Uma vez que você tenha o App SID & key, estará pronto para usar o Aspose.PDF Cloud Node.js SDK.

Comando do Console do Gerenciador de Pacotes


     
    npm install asposepdfcloud --save
     
     

Passos para substituir Tabelas em PDF via Cloud Node.js

Os desenvolvedores do Aspose.PDF Cloud podem facilmente carregar e substituir Tabelas em PDF com apenas algumas linhas de código.

  1. Leia o arquivo PDF local.
  2. Faça upload de um PDF local para o Aspose Cloud.
  3. Recupere e exiba todas as tabelas detectadas.
  4. Recupere e exiba uma tabela pelo seu ID.
  5. Baixe o arquivo PDF atualizado do armazenamento Aspose PDF Cloud.
 

Substituir Tabelas em 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_ID: "GE5TCOZSGAYCYNRQGUWDINZVFQ3DGMA",    // Your table id...
        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 replaceTable () {
            const jsonTable = this.initTable();

            const resultTabs = await pdfApi.putTable(configParams.PDF_DOCUMENT_NAME, configParams.TABLE_ID, jsonTable);

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

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

Substituir Tabelas em PDF

Substituir tabelas em um documento PDF é muitas vezes necessário para garantir que o conteúdo permaneça preciso, atualizado e estruturado de acordo com necessidades específicas. Razões comuns incluem corrigir dados desatualizados ou incorretos, atualizar formatação para melhor legibilidade ou consistência, converter tabelas digitalizadas ou não estruturadas em formatos editáveis e pesquisáveis, e alinhar estruturas de tabelas com novos modelos ou padrões. Este processo é especialmente útil em sistemas automatizados de processamento de documentos, onde manter alta qualidade e clareza de dados é essencial para relatórios, análises e conformidade. Substitua Tabelas em documentos PDF com Aspose.PDF Cloud Node.js SDK.

Com nossa biblioteca Node.js você pode:

  • Adicionar cabeçalho e rodapé ao documento PDF em formato de texto ou imagem.
  • Adicionar tabelas e carimbos (texto ou imagem) aos documentos PDF.
  • Anexar múltiplos 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 para 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.