การรวมเอกสาร 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.

การอ่านเพิ่มเติม