HTML JPG PDF XML DOCX
  Product Family
PDF

Замена таблиц в PDF в Node.js SDK

API для работы с таблицами в PDF документах с использованием облачного Node.js SDK

Get Started

Как заменить таблицы в PDF через Node.js SDK

Для замены таблиц в PDF мы будем использовать Aspose.PDF Cloud Node.js SDK. Этот облачный SDK помогает программистам Node.js разрабатывать облачные приложения для создания, аннотирования, редактирования и конвертации PDF с использованием языка программирования Node.js через Aspose.PDF REST API. Просто создайте учетную запись на Aspose for Cloud и получите информацию о приложении. Как только у вас будут SID и ключ приложения, вы готовы использовать Aspose.PDF Cloud Node.js SDK.

Команда консоли диспетчера пакетов


     
    npm install asposepdfcloud --save
     
     

Шаги по замене таблиц в PDF через облачный Node.js

Разработчики Aspose.PDF Cloud могут легко загружать и заменять таблицы в PDF с помощью всего нескольких строк кода.

  1. Прочитайте локальный PDF файл.
  2. Загрузите локальный PDF в Aspose Cloud.
  3. Извлеките и отобразите все обнаруженные таблицы.
  4. Извлеките и отобразите одну таблицу по ее ID.
  5. Загрузите обновленный PDF файл из хранилища Aspose PDF Cloud.
 

Замена таблиц в PDF с использованием 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);
        }
    }
 

Замена таблиц в PDF

Замена таблиц в PDF документе часто необходима для обеспечения точности, обновленности и структурированности контента в соответствии со специфическими требованиями. Общие причины включают исправление устаревших или некорректных данных, обновление форматирования для лучшей читаемости или согласованности, преобразование отсканированных или неструктурированных таблиц в редактируемые и индексируемые форматы, а также выравнивание структуры таблиц с новыми шаблонами или стандартами. Этот процесс особенно полезен в автоматизированных системах обработки документов, где поддержание высокого качества данных и четкости необходимо для отчетности, анализа и соответствия требованиям. Заменяйте таблицы в PDF документах с помощью Aspose.PDF Cloud Node.js SDK.

С нашей библиотекой Node.js вы можете:

  • Добавлять заголовок и нижний колонтитул PDF документа в текстовом или графическом формате.
  • Добавлять таблицы и штампы (текст или изображение) в PDF документы.
  • Присоединять несколько PDF документов к существующему файлу.
  • Работать с вложениями PDF, аннотациями и полями форм.
  • Применять шифрование или дешифрование к PDF документам и устанавливать пароль.
  • Удалять все штампы и таблицы со страницы или всего PDF документа.
  • Удалять конкретный штамп или таблицу из PDF документа по их ID.
  • Заменять одиночные или множественные вхождения текста на странице PDF или во всем документе.
  • Обширная поддержка конвертации PDF документов в различные другие форматы файлов.
  • Извлекать различные элементы PDF файлов и оптимизировать PDF документы.
  • Вы можете попробовать наше бесплатное приложение для извлечения таблиц в PDF файлы онлайн и протестировать функциональность.