إضافة جدول إلى PDF في Node.js SDK
API للعمل مع الجداول في مستندات PDF باستخدام Cloud Node.js SDK
Get Startedكيفية إضافة جدول إلى PDF عبر Node.js SDK
لإضافة جدول إلى PDF، سنستخدم Aspose.PDF Cloud Node.js SDK. يساعد هذا Cloud SDK مبرمجي Node.js في تطوير تطبيقات إنشاء PDF، التعليق، التحرير، والتحويل القائمة على السحابة باستخدام لغة البرمجة Node.js عبر Aspose.PDF REST API. ببساطة، قم بإنشاء حساب في Aspose for Cloud واحصل على معلومات التطبيق الخاصة بك. بمجرد حصولك على App SID & key، أنت جاهز لاستخدام Aspose.PDF Cloud Node.js SDK.
أمر وحدة تحكم مدير الحزم
npm install asposepdfcloud --save
خطوات إضافة جدول إلى PDF عبر Cloud Node.js
يمكن لمطوري Aspose.PDF Cloud تحميل وإضافة جدول إلى PDF بسهولة في بضع سطور من الكود.
- قراءة ملف PDF المحلي.
- تحميل ملف PDF إلى تخزين Aspose PDF Cloud.
- إنشاء الجدول بالتنسيق المطلوب.
- تنزيل ملف 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_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 عن طريق معرفه.
- استبدال حالة واحدة أو متعددة من النص في صفحة PDF أو من المستند بأكمله.
- دعم واسع لتحويل مستندات PDF إلى تنسيقات ملفات أخرى مختلفة.
- استخراج عناصر مختلفة من ملفات PDF وجعل مستندات PDF محسنة.
- يمكنك تجربة التطبيق المجاني لاستخراج الجداول في ملفات PDF عبر الإنترنت واختبار الوظائف.
- موارد التعلم
- التوثيق
- كود المصدر
- مراجع API
- دعم المنتج
- الدعم المجاني
- الدعم المدفوع
- مدونة
- لماذا Aspose.PDF Cloud لـ Node.js؟
- قائمة العملاء
- الأمان