HTML JPG PDF XML DOCX
  Product Family
PDF

Node.js SDKでPDFにテーブルを追加

Cloud Node.js SDKを使用してPDFドキュメントでテーブルを操作するためのAPI

Get Started

Node.js SDKを介してPDFにテーブルを追加する方法

PDFにテーブルを追加するために、 Aspose.PDF Cloud Node.js SDKを使用します。このCloud SDKは、Node.jsプログラマーがAspose.PDF REST APIを介して、Node.jsプログラミング言語を使用してクラウドベースのPDF作成、注釈付け、編集、変換アプリを開発するのを支援します。Aspose for Cloudでアカウントを作成し、アプリケーション情報を取得してください。App SIDとキーを取得したら、Aspose.PDF Cloud Node.js SDKを使用する準備が整います。

パッケージマネージャーコンソールコマンド


     
    npm install asposepdfcloud --save
     
     

Cloud Node.jsを介してPDFにテーブルを追加する手順

Aspose.PDF Cloudの開発者は、わずか数行のコードで簡単にPDFにテーブルを読み込み追加できます。

  1. ローカルのPDFファイルを読み込みます。
  2. PDFファイルをAspose PDF Cloudストレージにアップロードします。
  3. 希望のレイアウトのテーブルを作成します。
  4. 更新されたPDFファイルをAspose PDF Cloudストレージからダウンロードします。
 

Node.jsを使用してPDFにテーブルを追加


    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でテーブルを操作する

テーブルはデータを体系的に提示するための構造化された形式を提供し、読者が情報を理解し分析しやすくします。また、ドキュメントの視覚的な魅力を高め、専門性と組織化を追加します。数値データや比較データを扱う際には、関連情報を読みやすい形式でグループ化することにより、テーブルが明確さを向上させます。さらに、テーブルはデータベースや分析ダッシュボードからのデータなど、リアルタイムまたは動的に生成されたコンテンツを組み込むことができます。 Aspose.PDF Cloud Node.js SDKでPDFドキュメントにテーブルを追加します。

弊社のNode.jsライブラリを使用すると、次のことができます:

  • PDFドキュメントのヘッダーとフッターをテキストまたは画像形式で追加。
  • PDFドキュメントにテーブルとスタンプ(テキストまたは画像)を追加。
  • 複数のPDFドキュメントを既存のファイルに追加。
  • PDFの添付ファイル、注釈、フォームフィールドを操作。
  • PDFドキュメントに暗号化または復号化を適用し、パスワードを設定。
  • ページまたはPDFドキュメント全体からすべてのスタンプとテーブルを削除。
  • PDFドキュメントから特定のスタンプまたはテーブルをIDで削除。
  • PDFページまたはドキュメント全体で単一または複数のテキストインスタンスを置換。
  • PDFドキュメントをさまざまな他のファイル形式に変換するための広範なサポート。
  • PDFファイルのさまざまな要素を抽出し、PDFドキュメントを最適化。
  • 無料アプリを使用してPDFファイルにテーブルをオンラインで抽出し、機能をテストできます。