การรวมเอกสาร PDF หลายไฟล์เป็นไฟล์เดียวเป็นความต้องการที่พบบ่อยเมื่อสร้างกระบวนการทำงานของเอกสารหรือสร้างรายงาน. GroupDocs.Merger Cloud SDK for Node.js ทำให้การรวม PDF ใน Node.JS ง่ายขึ้นโดยไม่ต้องจัดการกับโครงสร้าง PDF ระดับต่ำ. คู่มือนี้จะพาคุณผ่านการตั้งค่า, การดำเนินการแบบขั้นตอนต่อขั้นตอน, ตัวอย่างโค้ดเต็ม, คำสั่ง cURL ที่เทียบเท่า, และเคล็ดลับประสิทธิภาพสำหรับ PDF ขนาดใหญ่หรือที่เข้ารหัส.
ก่อนเริ่มต้น: ข้อกำหนดเบื้องต้นและการติดตั้ง
ก่อนที่คุณจะเริ่ม, ตรวจสอบให้แน่ใจว่าคุณมีสิ่งต่อไปนี้:
- Node.js 14 หรือใหม่กว่าที่ติดตั้งบนเครื่องพัฒนาของคุณ
- บัญชี GroupDocs Cloud ที่ใช้งานอยู่พร้อม client ID และ client secret
- การเข้าถึงไฟล์ PDF ที่คุณต้องการรวม ซึ่งจัดเก็บใน storage ของ GroupDocs Cloud
ติดตั้ง SDK ผ่าน npm และดาวน์โหลดแพ็กเกจล่าสุด:
npm install groupdocs-merger-cloud
คุณยังสามารถดึง SDK จากหน้าปล่อยอย่างเป็นทางการได้: ดาวน์โหลด SDK. หลังจากการติดตั้ง คุณพร้อมที่จะเริ่มเขียนโค้ดแล้ว.
คู่มือขั้นตอนการรวม PDF ใน Node.JS
ขั้นตอนที่ 1: ติดตั้ง SDK และนำเข้าคลาสที่จำเป็น
ขั้นแรก ให้นำเข้าคลาสที่คุณจะต้องใช้สำหรับการรวม PDF.
const { MergeApi, MergeOptions, FileInfo, Configuration } = require("@groupdocs/merger-cloud");
การนำเข้านี้ทำให้คุณเข้าถึง API หลัก, วัตถุการกำหนดค่า, และตัวบ่งชี้ไฟล์ได้
ขั้นตอนที่ 2: กำหนดค่า Credentials ของ GroupDocs
สร้างอ็อบเจ็กต์การกำหนดค่าด้วยข้อมูลประจำตัวของไคลเอนต์ของคุณ.
const config = new Configuration({
clientId: "YOUR_CLIENT_ID",
clientSecret: "YOUR_CLIENT_SECRET"
});
การให้ข้อมูลรับรองที่ถูกต้องทำให้ไลบรารีสามารถตรวจสอบความถูกต้องของคำขอของคุณได้.
ขั้นตอนที่ 3: กำหนดไฟล์ PDF ที่จะรวม
รายการเอกสาร PDF ที่คุณต้องการรวมเข้าด้วยกัน ขั้นตอนนี้เตรียมคุณให้สามารถรวม PDF ใน Node.JS ได้อย่างมีประสิทธิภาพ
const filesToMerge = [
new FileInfo({ filePath: "input1.pdf" }),
new FileInfo({ filePath: "input2.pdf" })
];
แต่ละ FileInfo ชี้ไปยังไฟล์ที่จัดเก็บในพื้นที่จัดเก็บของ GroupDocs Cloud ของคุณ.
ขั้นตอนที่ 4: ตั้งค่าตัวเลือกการรวม
กำหนดตำแหน่งที่เก็บผลลัพธ์และแนบรายการไฟล์ไปยังคำขอรวม
const mergeOptions = new MergeOptions();
mergeOptions.fileInfos = filesToMerge;
mergeOptions.outputPath = "merged_output.pdf";
การตั้งค่าเหล่านี้ควบคุมวิธีการรวม PDF ใน Node.JS และตำแหน่งที่ผลลัพธ์จะถูกบันทึก
ขั้นตอนที่ 5: ดำเนินการผสาน
สร้างอินสแตนซ์ของ API, เรียกเมธอด merge, และจัดการกับการตอบกลับ.
const mergeApi = new MergeApi(config);
try {
const result = await mergeApi.mergeDocuments(mergeOptions);
console.log("Merge completed. Output file stored at:", result.path);
} catch (error) {
console.error("Error during PDF merge:", error);
}
การเรียกแบบอะซิงโครนัสจะคืนเส้นทางของเอกสารที่รวมกันหากการดำเนินการสำเร็จ
ตัวอย่างการใช้งานเต็มรูปแบบสำหรับการรวม PDF ใน Node.JS
โค้ดต่อไปนี้แสดงกระบวนการทำงานทั้งหมดตั้งแต่การกำหนดค่าไปจนถึงการจัดการผลลัพธ์.
const { MergeApi, MergeOptions, FileInfo, Configuration } = require("@groupdocs/merger-cloud");
// Configure the SDK (replace with your actual credentials)
const config = new Configuration({
clientId: "YOUR_CLIENT_ID",
clientSecret: "YOUR_CLIENT_SECRET"
});
async function mergePdfFiles() {
// Initialize the Merge API
const mergeApi = new MergeApi(config);
// Define the PDF files to be merged (must exist in GroupDocs Cloud storage)
const filesToMerge = [
new FileInfo({ filePath: "input1.pdf" }),
new FileInfo({ filePath: "input2.pdf" })
];
// Set merge options
const mergeOptions = new MergeOptions();
mergeOptions.fileInfos = filesToMerge;
mergeOptions.outputPath = "merged_output.pdf";
try {
// Perform the merge operation
const result = await mergeApi.mergeDocuments(mergeOptions);
console.log("Merge completed. Output file stored at:", result.path);
} catch (error) {
console.error("Error during PDF merge:", error);
}
}
// Execute the merge
mergePdfFiles();
หมายเหตุ: ตัวอย่างโค้ดนี้แสดงการทำงานหลักของฟังก์ชัน ก่อนนำไปใช้ในโครงการของคุณ ให้ตรวจสอบและอัปเดตเส้นทางไฟล์และค่าการกำหนดค่าต่าง ๆ ให้ตรงกับสภาพแวดล้อมจริงของคุณ ตรวจสอบว่าการพึ่งพาที่จำเป็นทั้งหมดได้ถูกติดตั้งอย่างถูกต้อง และทำการทดสอบอย่างละเอียดในสภาพแวดล้อมการพัฒนา หากคุณพบปัญหาใด ๆ โปรดอ้างอิง เอกสารอย่างเป็นทางการ หรือ ติดต่อ ทีมสนับสนุน เพื่อขอความช่วยเหลือ.
การรวม PDF ผ่าน REST API ด้วย cURL
หากคุณต้องการใช้วิธี REST แบบบริสุทธิ์เดียวกัน การดำเนินการเดียวกันสามารถทำได้ด้วยคำสั่ง cURL
ขั้นแรก ให้รับโทเคนการเข้าถึง:
curl -X POST "https://api.groupdocs.cloud/v2.0/oauth2/token" \
-H "Content-Type: application/json" \
-d '{"client_id":"YOUR_CLIENT_ID","client_secret":"YOUR_CLIENT_SECRET","grant_type":"client_credentials"}'
อัปโหลดไฟล์ PDF ต้นฉบับไปยังที่จัดเก็บของคุณ (แทนที่ YOUR_ACCESS_TOKEN ด้วยโทเคนจากขั้นตอนก่อนหน้า):
curl -X POST "https://api.groupdocs.cloud/v2.0/storage/file/upload?path=input1.pdf" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-F "file=@/local/path/input1.pdf"
ทำซ้ำการอัปโหลดสำหรับ input2.pdf จากนั้นขอดำเนินการรวม:
curl -X POST "https://api.groupdocs.cloud/v2.0/merger/merge" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"fileInfos": [
{"filePath":"input1.pdf"},
{"filePath":"input2.pdf"}
],
"outputPath":"merged_output.pdf"
}'
สุดท้าย ให้ดาวน์โหลดไฟล์ที่รวมแล้ว:
curl -X GET "https://api.groupdocs.cloud/v2.0/storage/file/download?path=merged_output.pdf" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-o merged_output.pdf
สำหรับรายการเต็มของ endpoint และพารามิเตอร์, ดูที่ อ้างอิง API.
กำหนดค่าตัวเลือกการรวม
SDK เปิดเผยตัวเลือกหลายอย่างที่ให้คุณปรับแต่งกระบวนการรวมได้อย่างละเอียด:
- outputPath - เส้นทางปลายทางสำหรับ PDF ที่รวมกัน ปรับค่านี้เพื่อควบคุมตำแหน่งที่จัดเก็บผลลัพธ์
- fileInfos - อาร์เรย์ของอ็อบเจกต์
FileInfoที่กำหนด PDF แหล่งที่มาและลำดับของมัน
คุณยังสามารถตั้งค่าคุณสมบัติเพิ่มเติมเช่น pages เพื่อรวมช่วงหน้าที่เฉพาะ หรือ password สำหรับไฟล์ PDF ที่เข้ารหัสได้อีกด้วย. ดูที่ เอกสารอย่างเป็นทางการ สำหรับรายการเต็มของฟิลด์ที่สามารถกำหนดค่าได้.
ข้อควรพิจารณาด้านประสิทธิภาพสำหรับการรวม PDF
เมื่อทำการรวมไฟล์ PDF ขนาดใหญ่หรือจำนวนมาก ให้คำนึงถึงเคล็ดลับต่อไปนี้:
- Use async/await เพื่อหลีกเลี่ยงการบล็อก event loop โดยเฉพาะสำหรับเอกสารขนาดใหญ่.
- Batch uploads: อัปโหลด PDF แหล่งที่มาพร้อมกันก่อนเรียกใช้การรวมเพื่อลดความหน่วงโดยรวม.
- Streamed processing: สำหรับ PDF ขนาดใหญ่มาก ให้พิจารณาเก็บผลลัพธ์ชั่วคราวในคลาวด์สตอเรจและทำการรวมเป็นส่วนย่อย ๆ.
- Encrypted PDFs: ให้รหัสผ่านในอ็อบเจ็กต์
FileInfo; การประมวลผลไฟล์ที่เข้ารหัสเพิ่มภาระงาน ดังนั้นควรรวมไฟล์หลังจากถอดรหัสเมื่อเป็นไปได้.
การใช้แนวปฏิบัติเหล่านี้ช่วยให้คุณรวม PDF ใน Node.JS อย่างมีประสิทธิภาพพร้อมลดการใช้หน่วยความจำลง
คำถามที่คุณอาจมี
ฉันจะรวมไฟล์ PDF ใน Node.JS โดยใช้ GroupDocs ได้อย่างไร?
ใช้ GroupDocs.Merger Cloud SDK for Node.js เพื่อสร้างอินสแตนซ์MergeApiกำหนดค่าMergeOptionsด้วยไฟล์ PDF แหล่งที่มาของคุณ และเรียกmergeDocumentsตัวอย่างโค้ดเต็มในคู่มือนี้แสดงกระบวนการฉันสามารถรวมไฟล์ PDF ที่เข้ารหัสใน Node.JS ได้หรือไม่?
ใช่, SDK รองรับการรวม PDF ที่เข้ารหัส. ให้ระบุรหัสผ่านที่ถูกต้องในอ็อบเจ็กต์FileInfoก่อนเรียกmergeDocuments. ดู เอกสารอย่างเป็นทางการ สำหรับรายละเอียด.ตัวเลือกการให้สิทธิ์การใช้งานสำหรับ GroupDocs.Merger มีอะไรบ้าง?
GroupDocs มีแผนการกำหนดราคาที่ยืดหยุ่น สำหรับการทดสอบ คุณสามารถขอ ใบอนุญาตชั่วคราว เพื่อประเมินไลบรารีก่อนทำการซื้อการสมัครสมาชิกเต็มรูปแบบฉันสามารถค้นหาตัวอย่างเพิ่มเติมและการสนับสนุนได้จากที่ไหน?
ตัวอย่างเพิ่มเติมมีให้ใน GitHub repository. สำหรับความช่วยเหลือ, เยี่ยมชม support forum.
