Reemplazar Tablas en PDF en Node.js SDK

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

Get Started

Cómo reemplazar Tablas en PDF a través de Node.js SDK

Para reemplazar Tablas en PDF, usaremos Aspose.PDF Cloud Node.js SDK. Este Cloud SDK ayuda a los programadores de Node.js a desarrollar aplicaciones de creación, anotación, edición y conversión de PDF basadas en la nube utilizando 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 reemplazar Tablas en PDF a través de Cloud Node.js

Los desarrolladores de Aspose.PDF Cloud pueden cargar y reemplazar Tablas en PDF fácilmente en solo unas pocas líneas de código.

  1. Lea el archivo PDF local.
  2. Cargue un PDF local en Aspose Cloud.
  3. Recupere y muestre todas las tablas detectadas.
  4. Recupere y muestre una tabla por su ID.
  5. Descargue el archivo PDF actualizado desde el almacenamiento de Aspose PDF Cloud.
 

Reemplazar Tablas en 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);
        }
    }
 

Reemplazar Tablas en PDF

Reemplazar tablas en un documento PDF es a menudo necesario para asegurar que el contenido permanezca preciso, actualizado y estructurado según necesidades específicas. Las razones comunes incluyen corregir datos desactualizados o incorrectos, actualizar el formato para una mejor legibilidad o consistencia, convertir tablas escaneadas o no estructuradas en formatos editables y buscables, y alinear las estructuras de tablas con nuevos plantillas o estándares. Este proceso es especialmente útil en sistemas automatizados de procesamiento de documentos, donde mantener alta calidad de datos y claridad es esencial para informes, análisis y cumplimiento. Reemplace Tablas en documentos PDF con Aspose.PDF Cloud Node.js SDK.

Con nuestra biblioteca de Node.js usted puede:

  • Agregar el encabezado y pie de página del documento PDF en formato de texto o imagen.
  • Agregar tablas y estampillas (texto o imagen) a documentos PDF.
  • Anexar múltiples documentos PDF a un archivo existente.
  • Trabajar con archivos adjuntos, anotaciones y campos de formulario en PDF.
  • Aplicar cifrado o descifrado a documentos PDF y establecer una contraseña.
  • Eliminar todas las estampillas y tablas de una página o de todo el documento PDF.
  • Eliminar una estampilla o tabla específica del documento PDF por su ID.
  • Reemplazar una o múltiples instancias de texto en una página PDF o en todo el documento.
  • Soporte extenso 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.