Cách kết hợp và hợp nhất các tệp PDF thành một trực tuyến bằng Node.js

Kết hợp và hợp nhất các tệp PDF thành một trực tuyến bằng Node.js

Đôi khi, chúng tôi có thể cần kết hợp hai hoặc nhiều tệp PDF để tạo thành một tệp hoàn chỉnh hơn. Ví dụ: bạn cần hợp nhất các tệp PDF để tạo tài liệu bằng các tệp đã tạo trước đó của mình để tham chiếu dữ liệu hoặc khi những người dùng khác nhau đang làm việc trên cùng một chủ đề. Kết hợp các tệp PDF giúp bạn giữ cho thông tin của mình nhất quán và làm cho tài liệu của bạn hiệu quả hơn. Có thể rất tẻ nhạt khi sao chép và dán nội dung theo cách thủ công hoặc nhập nội dung từ các tài liệu khác để hợp nhất các tài liệu. Do đó, chúng ta sẽ tìm hiểu cách kết hợp và hợp nhất các tệp PDF thành một tệp trực tuyến bằng API REST của Node.js.

Bài viết này sẽ bao gồm các chủ đề sau.

Hợp nhất tài liệu trực tuyến API REST và SDK Node.js

Để kết hợp nhiều tệp PDF, tôi sẽ sử dụng API Node.js SDK của GroupDocs.Merger Cloud. Nó cho phép bạn kết hợp, trích xuất, xóa và sắp xếp lại một trang hoặc một tập hợp các trang từ các định dạng tài liệu được hỗ trợ chẳng hạn như Word, Excel, PowerPoint, bản vẽ Visio, PDF và HTML, v.v.

Lệnh sau trong bảng điều khiển sẽ kích hoạt đám mây GroupDocs.Merger cho ứng dụng Node.js của bạn:

npm install groupdocs-merger-cloud

Vui lòng lấy ID khách hàng và Bí mật của bạn từ bảng điều khiển trước khi làm theo các bước được đề cập. Khi bạn có ID và bí mật của mình, hãy thêm mã như hình bên dưới:

# Nhập SDK Node.js trong ứng dụng nút của bạn từ http://api.groupdocs.cloud
global.groupdocs_merger_cloud = require("groupdocs-merger-cloud");
global.fs = require("fs");

// lấy clientId và clientSecret từ https://dashboard.groupdocs.cloud (yêu cầu đăng ký miễn phí).
global.clientId = "xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
global.clientSecret = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
global.myStorage = "test-internal-storage";
const config = new groupdocs_merger_cloud.Configuration(clientId, clientSecret);
config.apiBaseUrl = "https://api.groupdocs.cloud";

Hợp nhất và kết hợp các tệp PDF thành một bằng cách sử dụng Node.js

Trong phần này, chúng ta sẽ tìm hiểu cách kết hợp nhiều tệp PDF thành một tệp duy nhất theo chương trình trên đám mây bằng cách thực hiện theo các bước đơn giản dưới đây:

Tải lên tệp PDF

Trước tiên, hãy sử dụng ví dụ mã bên dưới để tải tệp PDF lên đám mây:

// xây dựng FileApi
let fileApi = groupdocs_merger_cloud.FileApi.fromConfig(config);
// mở tệp trong IOStream từ ổ đĩa hệ thống của bạn.
let resourcesFolder = 'H:\\groupdocs-cloud-data\\sample-pdf\\';

fs.readdir(resourcesFolder, (err, files) => {
  files.forEach(file => {
    // đọc từng tập tin một
    fs.readFile(resourcesFolder + file, (err, fileStream) => {
      // tạo yêu cầu tệp tải lên
      let request = new groupdocs_merger_cloud.UploadFileRequest("nodejs-testing/" + file, fileStream, myStorage);
      // cập nhật dử liệu
      fileApi.uploadFile(request)
        .then(function (response) {
          console.log(file + " file uploaded: " + response.uploaded.length);
        })
        .catch(function (error) {
          console.log("Error: " + error.message);
        });
    });
  });
});

Do đó, các tệp PDF đã tải lên sẽ có thể truy cập được trong phần tệp của trang tổng quan của bạn trên đám mây.

Hợp nhất nhiều tệp PDF thành một tệp trực tuyến bằng Node.js

Tiếp theo, hợp nhất nhiều tệp PDF thành một tệp theo chương trình bằng cách thực hiện theo các bước được đề cập bên dưới:

  • Tạo một phiên bản của DocumentApi
  • Bây giờ, hãy tạo JoinItem đầu tiên
  • Tiếp theo, tạo mục đầu tiên FileInfo
  • Cung cấp đường dẫn tệp đầu vào cho Mục tham gia đầu tiên trong Thông tin tệp
  • Tạo JoinItem thứ hai
  • Tạo mục thứ hai FileInfo
  • Cung cấp đường dẫn tệp đầu vào cho JoinItem thứ hai trong FileInfo
  • Tạo nhiều tệp JoinOptions
  • Thêm danh sách các mục tham gia đã tạo được phân tách bằng dấu phẩy
  • Đặt đường dẫn tệp đầu ra
  • Tạo JoinRequest với JoinOptions làm đối số
  • Cuối cùng, nhận kết quả bằng cách gọi phương thức join() của DocumentAPI

Đoạn mã sau cho biết cách hợp nhất nhiều tệp PDF bằng API REST trong Node.js:

// Cách hợp nhất và kết hợp các tệp PDF thành một bằng Node.js
const combine = async() => {

let documentApi = groupdocs_merger_cloud.DocumentApi.fromKeys(clientId, clientSecret);

// tạo mục tham gia đầu tiên
let item1 = new groupdocs_merger_cloud.JoinItem();
item1.fileInfo = new groupdocs_merger_cloud.FileInfo();
item1.fileInfo.filePath = "nodejs-testing/sample-file1.pdf";

// tạo mục tham gia thứ hai
let item2 = new groupdocs_merger_cloud.JoinItem();
item2.fileInfo = new groupdocs_merger_cloud.FileInfo();
item2.fileInfo.filePath = "nodejs-testing/sample-file2.pdf";

// tạo tùy chọn tham gia
let options = new groupdocs_merger_cloud.JoinOptions();
options.joinItems = [item1, item2];
options.outputPath = "nodejs-testing/joined-file.pdf";

  try {
    // Tạo yêu cầu tài liệu tham gia
    let joinRequest = new groupdocs_merger_cloud.JoinRequest(options);
    let result = await documentApi.join(joinRequest);
  } 
  catch (err) {
    throw err;
  }
}

combine()
.then(() => {
  console.log("Successfully combined PDF documents: ");
})
.catch((err) => {
  console.log("Error occurred while merging the PDF files:", err);
})

Tải xuống hợp nhất các tệp PDF

Tệp PDF đã hợp nhất sẽ được lưu trên đám mây bằng đoạn mã ở trên. Bạn có thể tải xuống bằng mẫu mã sau:

// xây dựng FileApi để tải xuống tệp đã hợp nhất
var fileApi = groupdocs_merger_cloud.FileApi.fromConfig(config);
// tạo yêu cầu tệp donwload
let request = new groupdocs_merger_cloud.DownloadFileRequest("nodejs-testing/joined-file.pdf", myStorage);
// tải xuống tệp và loại phản hồi Luồng
fileApi.downloadFile(request)
    .then(function (response) {
        // lưu tập tin trong thư mục hệ thống của bạn
        fs.writeFile("H:\\groupdocs-cloud-data\\joined-file.pdf", response, "binary", function (err) { });
        console.log("Expected response type is Stream: " + response.length);
    })
    .catch(function (error) {
        console.log("Error: " + error.message);
    });

Cách hợp nhất nhiều trang tệp PDF trong Node.js

Bạn có thể nhanh chóng hợp nhất các trang chiếu cụ thể của nhiều tệp PDF thành một tệp duy nhất theo chương trình bằng cách thực hiện theo các bước được đề cập bên dưới:

  • Đầu tiên, tạo một phiên bản của DocumentApi
  • Tiếp theo, tạo JoinItem đầu tiên
  • Bây giờ, hãy tạo mục đầu tiên FileInfo
  • Đặt đường dẫn tệp đầu vào cho JoinItem đầu tiên trong FileInfo
  • Cung cấp danh sách các trang được phân tách bằng dấu phẩy để kết hợp
  • Tạo JoinItem thứ hai
  • Tạo mục thứ hai FileInfo
  • Đặt đường dẫn tệp đầu vào cho JoinItem thứ hai trong FileInfo
  • Bây giờ, đặt giá trị startPageNumber
  • tiếp theo, đặt giá trị endPageNumber
  • Tạo nhiều tệp JoinOptions
  • Thêm danh sách các mục tham gia đã tạo được phân tách bằng dấu phẩy
  • Đặt đường dẫn tệp đầu ra
  • Tạo JoinRequest với JoinOptions làm đối số
  • Nhận kết quả bằng cách gọi phương thức join() của DocumentAPI

Đoạn mã sau cho biết cách hợp nhất các tệp PDF cụ thể bằng API REST trong Node.js:

// Cách hợp nhất nhiều trang tệp PDF trong Node.js
const mergespecific = async() => {

  // Hợp nhất các tệp PDF khởi tạo api
  let documentApi = groupdocs_merger_cloud.DocumentApi.fromKeys(clientId, clientSecret);

  // tạo mục tham gia đầu tiên
  let item1 = new groupdocs_merger_cloud.JoinItem();
  item1.fileInfo = new groupdocs_merger_cloud.FileInfo();
  item1.fileInfo.filePath = "nodejs-testing/sample-file1.pdf";
  item1.pages = [1, 3];

  // tạo mục tham gia thứ hai
  let item2 = new groupdocs_merger_cloud.JoinItem();
  item2.fileInfo = new groupdocs_merger_cloud.FileInfo();
  item2.fileInfo.filePath = "nodejs-testing/sample-file2.pdf";
  item2.startPageNumber = 2
  item2.endPageNumber = 4

  // tạo tùy chọn tham gia
  let options = new groupdocs_merger_cloud.JoinOptions();
  options.joinItems = [item1, item2];
  options.outputPath = "nodejs-testing/joined-file.pdf";

  try {
    // Tạo yêu cầu tài liệu tham gia
    let joinRequest = new groupdocs_merger_cloud.JoinRequest(options);
    let result = await documentApi.join(joinRequest);
  } 
  catch (err) {
    throw err;
  }
}

mergespecific()
.then(() => {
  console.log("Successfully merged PDF documents specific pages: ");
})
.catch((err) => {
  console.log("Error occurred while combining the PDF files:", err);
})

Kết hợp các tệp PDF thành một trực tuyến miễn phí

Vui lòng thử công cụ hợp nhất PDF trực tuyến miễn phí sau, được phát triển bằng API trên.

Phần kết luận

Trong bài viết này, bạn đã học được:

  • cách hợp nhất nhiều tệp PDF thành một tệp PDF bằng Node.js;
  • cách hợp nhất các trang cụ thể của tệp PDF trong Node.js bằng API REST;
  • tải lên các tệp PDF theo chương trình và tải xuống tệp PDF đã hợp nhất từ đám mây;

API cũng cho phép bạn sắp xếp lại hoặc thay thế các trang tài liệu, thay đổi hướng trang, quản lý mật khẩu tài liệu và thực hiện các thao tác khác một cách dễ dàng đối với mọi định dạng tệp được hỗ trợ. Nó cũng cung cấp SDK .NET, Java, PHP, Ruby, Android và Python dưới dạng các thành viên gia đình hợp nhất tài liệu của nó cho Cloud API. Bạn có thể tìm hiểu thêm về GroupDocs.Merge Cloud API bằng cách sử dụng tài liệu. Chúng tôi cũng cung cấp phần Tham khảo API cho phép bạn hình dung và tương tác trực tiếp với các API của chúng tôi thông qua trình duyệt.

Chúng tôi cũng khuyên bạn nên đọc Hướng dẫn bắt đầu. của chúng tôi

Ngoài ra, groupdocs.cloud viết các bài blog khác về các chủ đề mới. Xin lưu ý các bản cập nhật mới nhất.

Đặt một câu hỏi

Bạn có thể đặt câu hỏi về cách kết hợp các tệp PDF thông qua Diễn đàn hỗ trợ miễn phí của chúng tôi

câu hỏi thường gặp

Làm cách nào để kết hợp nhiều trang thành một tệp PDF bằng Node.js?

Vui lòng làm theo Node.js code để biết cách kết hợp các tệp PDF trong windows một cách nhanh chóng và dễ dàng. Bạn có thể truy cập tài liệu để biết chi tiết đầy đủ về API.

Xem thêm

Chúng tôi khuyên bạn nên đọc các bài viết sau để tìm hiểu thêm: