HTML JPG PDF XML DOCX
  Product Family
PDF

Tambahkan Tabel ke PDF di Node.js SDK

API untuk bekerja dengan Tabel dalam dokumen PDF menggunakan Cloud Node.js SDK

Get Started

Cara menambahkan Tabel ke PDF melalui Node.js SDK

Untuk menambahkan Tabel ke PDF, kita akan menggunakan Aspose.PDF Cloud Node.js SDK. Cloud SDK ini membantu pemrogram Node.js dalam mengembangkan aplikasi pembuat, anotator, editor, dan konverter PDF berbasis cloud menggunakan bahasa pemrograman Node.js melalui Aspose.PDF REST API. Cukup buat akun di Aspose for Cloud dan dapatkan informasi aplikasi Anda. Setelah Anda memiliki App SID & key, Anda siap menggunakan Aspose.PDF Cloud Node.js SDK.

Perintah Konsol Manajer Paket


     
    npm install asposepdfcloud --save
     
     

Langkah-langkah untuk menambahkan Tabel ke PDF melalui Cloud Node.js

Pengembang Aspose.PDF Cloud dapat dengan mudah memuat & menambahkan Tabel ke PDF hanya dalam beberapa baris kode.

  1. Baca file PDF lokal.
  2. Unggah file PDF ke penyimpanan Aspose PDF Cloud.
  3. Buat tabel dengan tata letak yang diinginkan.
  4. Unduh file PDF yang diperbarui dari penyimpanan Aspose PDF Cloud.
 

Tambahkan Tabel ke PDF menggunakan 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);
        }
    }
 

Bekerja dengan Tabel dalam PDF

Tabel menyediakan format terstruktur untuk menyajikan data secara sistematis, memudahkan pembaca untuk memahami dan menganalisis informasi. Mereka juga meningkatkan daya tarik visual dokumen, menambahkan profesionalisme dan organisasi. Ketika berurusan dengan data numerik atau komparatif, tabel meningkatkan kejelasan dengan mengelompokkan informasi terkait dalam format yang mudah dibaca. Selain itu, tabel dapat menggabungkan konten yang dihasilkan secara real-time atau dinamis, seperti data dari basis data atau dasbor analitik. Tambahkan Tabel ke dokumen PDF dengan Aspose.PDF Cloud Node.js SDK.

Dengan pustaka Node.js kami, Anda dapat:

  • Tambahkan header & footer dokumen PDF dalam format teks atau gambar.
  • Tambahkan tabel & stempel (teks atau gambar) ke dokumen PDF.
  • Tambahkan beberapa dokumen PDF ke file yang sudah ada.
  • Bekerja dengan lampiran PDF, anotasi, & bidang formulir.
  • Terapkan enkripsi atau dekripsi ke dokumen PDF & atur kata sandi.
  • Hapus semua stempel & tabel dari halaman atau seluruh dokumen PDF.
  • Hapus stempel atau tabel tertentu dari dokumen PDF berdasarkan ID-nya.
  • Ganti satu atau beberapa instance teks pada halaman PDF atau dari seluruh dokumen.
  • Dukungan yang luas untuk mengonversi dokumen PDF ke berbagai format file lainnya.
  • Ekstrak berbagai elemen dari file PDF & optimalkan dokumen PDF.
  • Anda dapat mencoba Aplikasi gratis kami untuk mengekstrak Tabel ke file PDF secara online dan menguji fungsionalitasnya.