Tích hợp khả năng lắp ráp tài liệu mạnh mẽ vào các ứng dụng Node của bạn bằng cách sử dụng GroupDocs.Assembly Cloud REST API.
Bắt đầu dùng thử miễn phíGroupDocs.Assembly Cloud là một dịch vụ được quản lý hoàn toàn, dựa trên dịch vụ REST cho phép các nhà phát triển tạo tài liệu có định dạng phong phú, sẵn sàng in từ các mẫu có thể tái sử dụng và nguồn dữ liệu bên ngoài.
Nền tảng hỗ trợ đa dạng các định dạng nguồn và đích – từ các tệp Microsoft Office cổ điển (DOCX, XLSX, PPTX) đến PDF, HTML, OpenDocument, và nhiều định dạng đồ họa – cho phép bạn tạo hợp đồng, hóa đơn, báo cáo, tờ rơi marketing, hoặc bất kỳ tài liệu tùy chỉnh nào mà không cần cài đặt phần mềm của bên thứ ba trên máy chủ của mình. Tất cả các công việc nặng – phân tích mẫu, ràng buộc dữ liệu, render hình ảnh, tạo mã vạch, đánh giá công thức và chuyển đổi tệp – đều được thực hiện trên đám mây, đảm bảo kết quả nhất quán trên các hệ điều hành và giảm chi phí hạ tầng.
Tại sao nên sử dụng Node.js SDK?
Quy trình điển hình trong một ứng dụng Node.js
uploadFile của SDK.AssembleOptions – chỉ định đường dẫn mẫu, nguồn dữ liệu, định dạng đầu ra mong muốn (PDF, DOCX, HTML, …) và bất kỳ cài đặt bổ sung nào (ví dụ: tạo mã vạch, màu nền).assembleDocument – SDK gửi một yêu cầu HTTP duy nhất để kích hoạt quá trình lắp ráp trên máy chủ.Ví dụ sau (được hiển thị trong phần Tính năng bổ sung) minh họa từng bước này trong một đoạn mã ngắn gọn, sẵn sàng cho môi trường sản xuất.
Đoạn mã dưới đây minh họa quy trình hoàn chỉnh: tải lên một mẫu, đọc tệp dữ liệu JSON, cấu hình yêu cầu lắp ráp và nhận tài liệu đã lắp ráp.
Các bước
AssembleOptions – chọn định dạng đầu ra và ràng buộc dữ liệu.assembleDocument để tạo báo cáo.// 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);