บูรณาการความสามารถในการประกอบเอกสารอันทรงพลังลงในแอปพลิเคชัน Node ของคุณโดยใช้ GroupDocs.Assembly Cloud REST API
เริ่มทดลองใช้งานฟรีGroupDocs.Assembly Cloud คือบริการ REST ที่ได้รับการจัดการอย่างเต็มรูปแบบ ช่วยให้นักพัฒนาสามารถสร้างเอกสารที่มีรูปแบบสมบูรณ์และพร้อมพิมพ์จากเทมเพลตที่นำกลับมาใช้ใหม่ได้และแหล่งข้อมูลภายนอก
แพลตฟอร์มนี้รองรับรูปแบบไฟล์ต้นฉบับและไฟล์เป้าหมายที่หลากหลาย ตั้งแต่ไฟล์ Microsoft Office แบบคลาสสิก (DOCX, XLSX, PPTX) ไปจนถึง PDF, HTML, OpenDocument และรูปแบบกราฟิกอีกมากมาย ช่วยให้คุณสร้างสัญญา ใบแจ้งหนี้ รายงาน โบรชัวร์การตลาด หรือเอกสารที่กำหนดเองใดๆ ได้โดยไม่ต้องติดตั้งซอฟต์แวร์จากบุคคลที่สามบนเซิร์ฟเวอร์ของคุณเอง งานหนักทั้งหมด เช่น การแยกวิเคราะห์เทมเพลต การผูกข้อมูล การเรนเดอร์ภาพ การสร้างบาร์โค้ด การประเมินสูตร และการแปลงไฟล์ จะดำเนินการบนคลาวด์ ซึ่งช่วยให้มั่นใจได้ถึงผลลัพธ์ที่สอดคล้องกันในทุกระบบปฏิบัติการและลดต้นทุนโครงสร้างพื้นฐาน
ทำไมต้องใช้ Node.js SDK?
เวิร์กโฟลว์ทั่วไปในแอปพลิเคชัน Node.js
เตรียมเทมเพลต (DOCX, PPTX ฯลฯ) ที่มีฟิลด์ตัวแทนและโครงสร้างการเขียนโปรแกรมที่เป็นตัวเลือก เช่น บล็อกเงื่อนไข ลูป หรือแท็กบาร์โค้ด
สร้างแหล่งข้อมูล ในรูปแบบ XML หรือ JSON ที่ระบุค่าที่จะรวมเข้ากับเทมเพลต
อัปโหลดเทมเพลต ไปยัง GroupDocs Cloud Storage โดยใช้เมธอด uploadFile ของ SDK
กำหนดค่า AssembleOptions – ระบุเส้นทางเทมเพลต แหล่งข้อมูล รูปแบบเอาต์พุตที่ต้องการ (PDF, DOCX, HTML, ฯลฯ) และการตั้งค่าเพิ่มเติม (เช่น การสร้างบาร์โค้ด สีพื้นหลัง)
เรียกใช้ assembleDocument – SDK จะส่งคำขอ HTTP เดียวเพื่อเริ่มกระบวนการประกอบบนเซิร์ฟเวอร์
รับไฟล์ประกอบ เป็นอาร์เรย์ไบต์ บันทึกลงในเครื่อง หรือสตรีมไปยังไคลเอนต์โดยตรง
ตัวอย่างต่อไปนี้ (แสดงในส่วน คุณสมบัติเพิ่มเติม) สาธิตแต่ละขั้นตอนเหล่านี้ในโค้ดตัวอย่างที่กะทัดรัดและพร้อมใช้งานจริง
ตัวอย่างด้านล่างนี้แสดงขั้นตอนการทำงานทั้งหมด: อัปโหลดเทมเพลต อ่านไฟล์ข้อมูล JSON กำหนดค่าคำขอแอสเซมบลี และรับเอกสารที่ประกอบแล้ว
ขั้นตอน
AssembleOptions – เลือกรูปแบบเอาต์พุตและเชื่อมโยงข้อมูลassembleDocument เพื่อสร้างรายงาน// Replace with your App SID and App Key
const { AssemblyApi, AssembleDocumentRequest, AssembleOptions, TemplateFileInfo, model } = require("groupdocs-assembly-cloud");
const fs = require("fs");
const path = require("path");
// Authorization placeholder
const assemblyApi = new AssemblyApi(".#-.#-.#-.#-.#", "......");
// 1️⃣ Upload the template file
const templatePath = "Input1.docx";
const uploadRequest = new model.UploadFileRequest({
fileContent: fs.createReadStream(templatePath),
path: templatePath
});
await assemblyApi.uploadFile(uploadRequest);
// 2️⃣ Read the data source (JSON)
const dataPath = "Input2.docx";
const reportData = fs.readFileSync(dataPath, "utf8");
// 3️⃣ Set assembly options
const assembleOptions = new AssembleOptions({
saveFormat: "pdf",
reportData: reportData,
templateFileInfo: new TemplateFileInfo({ filePath: templatePath })
});
// 4️⃣ Create and send the assemble request
const request = new AssembleDocumentRequest({ assembleOptions });
const result = await assemblyApi.assembleDocument(request);
// 5️⃣ Save the resulting document
const outputPath = path.join(__dirname, "GeneratedReport.pdf");
fs.writeFileSync(outputPath, result.body);
console.log("Report generated successfully:", outputPath);