HTML JPG PDF XML DOCX
  Product Family
PDF

Agregar tabla a PDF en Node.js SDK

API para trabajar con tablas en documentos PDF usando Cloud Node.js SDK

Get Started

Cómo agregar tabla a PDF a través de Node.js SDK

Para agregar tabla en PDF, usaremos Aspose.PDF Cloud Node.js SDK. Este SDK en la nube ayuda a los programadores de Node.js a desarrollar aplicaciones en la nube para crear, anotar, editar y convertir PDF usando el lenguaje de programación Node.js a través de Aspose.PDF REST API. Simplemente cree una cuenta en Aspose for Cloud y obtenga la información de su aplicación. Una vez que tenga el App SID y la clave, estará listo para usar el Aspose.PDF Cloud Node.js SDK.

Comando de la consola del administrador de paquetes


     
    npm install asposepdfcloud --save
     
     

Pasos para agregar tabla en PDF a través de Cloud Node.js

Los desarrolladores de Aspose.PDF Cloud pueden cargar y agregar fácilmente tablas a un PDF con solo unas pocas líneas de código.

  1. Lea el archivo PDF local.
  2. Cargue el archivo PDF en el almacenamiento de Aspose PDF Cloud.
  3. Cree la tabla con el diseño deseado.
  4. Descargue el archivo PDF actualizado desde el almacenamiento de Aspose PDF Cloud.
 

Agregar tabla a 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);
        }
    }
 

Trabajar con tablas en PDF

Las tablas proporcionan un formato estructurado para presentar datos de manera sistemática, lo que facilita a los lectores comprender y analizar la información. También mejoran el atractivo visual de un documento, añadiendo profesionalismo y organización. Al tratar con datos numéricos o comparativos, las tablas mejoran la claridad al agrupar información relacionada en un formato fácil de leer. Además, las tablas pueden incorporar contenido en tiempo real o generado dinámicamente, como datos de bases de datos o paneles de análisis. Agregue la tabla en documentos PDF con Aspose.PDF Cloud Node.js SDK.

Con nuestra biblioteca de Node.js puede:

  • Agregar encabezado y pie de página del documento PDF en formato de texto o imagen.
  • Agregar tablas y sellos (texto o imagen) a documentos PDF.
  • Anexar varios documentos PDF a un archivo existente.
  • Trabajar con archivos adjuntos, anotaciones y campos de formulario de PDF.
  • Aplicar cifrado o descifrado a documentos PDF y establecer una contraseña.
  • Eliminar todos los sellos y tablas de una página o de todo el documento PDF.
  • Eliminar un sello o tabla específico del documento PDF por su ID.
  • Reemplazar una o varias instancias de texto en una página PDF o en todo el documento.
  • Extenso soporte para convertir documentos PDF a varios otros formatos de archivo.
  • Extraer varios elementos de archivos PDF y optimizar documentos PDF.
  • Puede probar nuestra aplicación gratuita para extraer tablas en archivos PDF en línea y probar la funcionalidad.