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