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 для облака и получите информацию о вашем приложении. Как только у вас будут App SID и ключ, вы можете использовать Aspose.PDF Cloud Node.js SDK.

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


     
    npm install asposepdfcloud --save
     
     

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

Разработчики Aspose.PDF Cloud могут легко загрузить и добавить таблицу в PDF всего за несколько строк кода.

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

Добавить таблицу в 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_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);
        }
    }
 

Работа с таблицами в PDF

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

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

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