Tách tài liệu PDF bằng API REST trong Node.js

Bạn có thể cần chia tệp PDF thành nhiều tệp theo chương trình. Bằng cách chia nhỏ tài liệu PDF, bạn có thể dễ dàng trích xuất và chia sẻ một phần thông tin cụ thể hoặc một tập hợp dữ liệu với các bên liên quan. Là nhà phát triển Node.js, bạn có thể chia tài liệu PDF thành nhiều tài liệu trên đám mây. Trong bài viết này, bạn sẽ tìm hiểu cách chia nhỏ tài liệu PDF bằng API REST trong Node.js.

Các chủ đề sau đây sẽ được đề cập trong bài viết này:

PDF Splitter REST API và Node.js SDK

Để tách các tệp PDF, tôi sẽ sử dụng Node.js SDK của GroupDocs.Merger Cloud API. Nó cho phép bạn tách, kết hợp, 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ợ của Word, Excel, PowerPoint, Bản vẽ Visio, PDFHTML.

Bạn có thể cài đặt GroupDocs.Merger Cloud cho ứng dụng Node.js của mình bằng lệnh sau trong bảng điều khiển:

npm install groupdocs-merger-cloud

Vui lòng lấy Mã 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:

global.clientId = "112f0f38-9dae-42d5-b4fc-cc84ae644972";
global.clientSecret = "16ad3fe0bdc39c910f57d2fd48a5d618";
global.myStorage = "";

const configuration = new groupdocs_merger_cloud.Configuration(clientId, clientSecret);
configuration.apiBaseUrl = "https://api.groupdocs.cloud";

Tách tài liệu PDF thành tài liệu một trang bằng API REST trong Node.js

Bạn có thể chia nhỏ các tệp PDF 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 được đề cập bên dưới:

Tải lên tệp PDF

Đầu tiên, tải tệp PDF lên Đám mây bằng ví dụ mã được cung cấp bên dưới:

// xây dựng FileApi
let fileApi = groupdocs_merger_cloud.FileApi.fromConfig(configuration);
let file = 'C:\\Files\\merger\\ten-pages.pdf';

// đọc từng tập tin một
fs.readFile(file, (err, fileStream) => {
  // tạo yêu cầu tệp tải lên
  let request = new groupdocs_merger_cloud.UploadFileRequest("ten-pages.pdf", fileStream, myStorage);
  // cập nhật dử liệu
  fileApi.uploadFile(request)
});

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

Tách tài liệu PDF bằng API REST trong Node.js

Bạn có thể dễ dàng chia các trang của bất kỳ tệp PDF nào thành các tài liệu PDF riêng biệt bao gồm một trang trong tài liệu theo chương trình bằng cách thực hiện theo các bước dưới đây:

  • Tạo một phiên bản của DocumentApi.
  • Tạo một phiên bản của FileInfo.
  • Sau đó, đặt đường dẫn đến tệp PDF đầu vào.
  • Tạo một phiên bản của SplitOptions.
  • Sau đó, gán FileInfo cho SplitOptions.
  • Đặt số trang cụ thể trong một mảng được phân tách bằng dấu phẩy để chia tài liệu.
  • Ngoài ra, hãy đặt chế độ chia tài liệu thành Trang. Nó cho phép API phân tách các số trang được cung cấp trong mảng được phân tách bằng dấu phẩy thành một tài liệu PDF riêng biệt.
  • Tạo SplitRequest với SplitOptions.
  • Cuối cùng, gọi phương thức DocumentAPI.split() với SplitRequest và nhận kết quả.

Đoạn mã sau cho biết cách tách tệp PDF bằng API REST trong Node.js.

// khởi tạo api
let documentApi = groupdocs_merger_cloud.DocumentApi.fromKeys(clientId, clientSecret);

// cung cấp đường dẫn tệp đầu vào
let fileInfo = new groupdocs_merger_cloud.FileInfo();
fileInfo.filePath = "ten-pages.pdf";

// xác định tùy chọn phân chia
let options = new groupdocs_merger_cloud.SplitOptions();
options.fileInfo = fileInfo;
options.outputPath = "Output";
options.pages = [1, 3];
options.mode = groupdocs_merger_cloud.SplitOptions.ModeEnum.Pages;

// tạo yêu cầu tách
let splitRequest = new groupdocs_merger_cloud.SplitRequest(options);

// chia tài liệu
let result = await documentApi.split(splitRequest);
result.documents.forEach(element => {
  console.log("Document Path: " + element.path);
});
Tách tệp PDF thành Tài liệu một trang bằng Node.js

Tách tệp PDF thành Tài liệu một trang bằng Node.js

Tải xuống tệp chia nhỏ

Mẫu mã trên sẽ lưu các tệp được phân tách trên đám mây. Bạn có thể tải chúng xuống bằng cách sử dụng mẫu mã sau:

// khởi tạo api
let fileApi = groupdocs_merger_cloud.FileApi.fromConfig(configuration);
let folderApi = new groupdocs_merger_cloud.FolderApi(configuration);

// lấy danh sách các tập tin
var listRequest = new groupdocs_merger_cloud.GetFilesListRequest("Output", myStorage);
let res = await folderApi.getFilesList(listRequest);
res.value.forEach(element => {
  // Tải tập tin
  var request = new groupdocs_merger_cloud.DownloadFileRequest(element.name, myStorage);
  fileApi.downloadFile(request)
    .then(function (response) {
      // lưu tệp hình ảnh trong thư mục làm việc
      fs.writeFile("C:\\Files\\merger\\downloads\\" + element.name, response, "binary", function (err) { });
      console.log("Expected response type is Stream: " + response.length);
    })
    .catch(function (error) {
      console.log("Error: " + error.message);
    });
});

Tách tệp PDF thành Tài liệu PDF nhiều trang bằng Node.js

Bạn có thể chia các tệp PDF thành nhiều tài liệu PDF theo chương trình bằng cách thực hiện theo các bước dưới đây:

  • Tạo một phiên bản của DocumentApi.
  • Tạo một phiên bản của FileInfo.
  • Sau đó, đặt đường dẫn đến tệp PDF đầu vào.
  • Tạo một phiên bản của SplitOptions.
  • Sau đó, gán FileInfo cho SplitOptions.
  • Đặt khoảng cách số trang từ vị trí phân tách trong một mảng được phân tách bằng dấu phẩy.
  • Ngoài ra, hãy đặt chế độ chia tài liệu thành Khoảng thời gian. Nó cho phép API phân chia các trang tài liệu dựa trên khoảng thời gian trang được cung cấp trong một mảng được phân tách bằng dấu phẩy.
  • Tạo SplitRequest với SplitOptions.
  • Cuối cùng, gọi phương thức DocumentAPI.split() với SplitRequest và nhận kết quả.

Đoạn mã sau cho biết cách chia tệp PDF thành nhiều tài liệu PDF bằng cách sử dụng API REST trong Node.js.

// khởi tạo api
let documentApi = groupdocs_merger_cloud.DocumentApi.fromKeys(clientId, clientSecret);

// cung cấp đường dẫn tệp đầu vào
let fileInfo = new groupdocs_merger_cloud.FileInfo();
fileInfo.filePath = "ten-pages.pdf";

// xác định tùy chọn phân chia
let options = new groupdocs_merger_cloud.SplitOptions();
options.fileInfo = fileInfo;
options.outputPath = "Output";
options.pages = [3, 6, 8];
options.mode = groupdocs_merger_cloud.SplitOptions.ModeEnum.Intervals;

// tạo yêu cầu tách
let splitRequest = new groupdocs_merger_cloud.SplitRequest(options);

// chia tài liệu
let result = await documentApi.split(splitRequest);
result.documents.forEach(element => {
  console.log("Document splitted: " + element.path);
});
Tách tệp PDF thành Tài liệu PDF nhiều trang bằng Node.js

Tách tệp PDF thành Tài liệu PDF nhiều trang bằng Node.js

Trích xuất các trang theo Phạm vi trang bằng API REST trong Node.js

Bạn có thể trích xuất và lưu các trang từ tệp PDF bằng cách cung cấp một loạt số trang theo chương trình bằng cách thực hiện theo các bước dưới đây:

  • Tạo một phiên bản của DocumentApi.
  • Tạo một phiên bản của FileInfo.
  • Sau đó, đặt đường dẫn đến tệp PDF đầu vào.
  • Tạo một phiên bản của SplitOptions.
  • Sau đó, gán FileInfo cho SplitOptions.
  • Đặt số trang bắt đầu và số trang kết thúc.
  • Ngoài ra, hãy đặt chế độ chia tài liệu thành Trang.
  • Tạo SplitRequest với SplitOptions.
  • Cuối cùng, gọi phương thức DocumentAPI.split() với SplitRequest và nhận kết quả.

Đoạn mã sau cho biết cách chia tệp PDF theo phạm vi số trang bằng cách sử dụng API REST trong Node.js.

// khởi tạo api
let documentApi = groupdocs_merger_cloud.DocumentApi.fromKeys(clientId, clientSecret);

let fileInfo = new groupdocs_merger_cloud.FileInfo();
fileInfo.filePath = "ten-pages.pdf";

// xác định tùy chọn phân chia
let options = new groupdocs_merger_cloud.SplitOptions();
options.fileInfo = fileInfo;
options.outputPath = "Output";
options.startPageNumber = 3;
options.endPageNumber = 7;
options.mode = groupdocs_merger_cloud.SplitOptions.ModeEnum.Pages;

// tạo yêu cầu tách
let splitRequest = new groupdocs_merger_cloud.SplitRequest(options);

// chia tài liệu
let result = await documentApi.split(splitRequest);
result.documents.forEach(element => {
  console.log("Document splitted: " + element.path);
});
Trích xuất các trang theo Phạm vi trang bằng API REST trong Node.js

Trích xuất các trang theo Phạm vi trang bằng API REST trong Node.js

Thử trực tuyến

Vui lòng dùng thử công cụ tách PDF trực tuyến miễn phí sau đây, được phát triển bằng cách sử dụng API ở trên. https://products.groupdocs.app/splitter/pdf/

Phần kết luận

Trong bài viết này, bạn đã học cách chia tài liệu PDF bằng API REST trên đám mây. Ngoài ra, bạn đã biết cách chia tệp PDF thành nhiều trang tài liệu PDF theo chương trình. Bài viết này cũng giải thích cách tải tệp PDF lên đám mây theo chương trình rồi tải xuống các tệp đã tách 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ợ. Ngoài ra, 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. Trong trường hợp có bất kỳ sự mơ hồ nào, vui lòng liên hệ với chúng tôi trên diễn đàn.

Xem thêm