Chú thích Tài liệu PDF bằng API REST trong Node.js

Là nhà phát triển Node.js, bạn có thể dễ dàng chú thích bất kỳ tài liệu PDF nào của mình theo chương trình trên đám mây. Bạn có thể thêm hình ảnh, nhận xét, ghi chú hoặc các loại nhận xét bên ngoài khác vào tài liệu dưới dạng chú thích. Trong bài viết này, bạn sẽ tìm hiểu cách chú thích 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:

Chú thích tài liệu API REST và SDK Node.js

Để chú thích tài liệu PDF, tôi sẽ sử dụng Node.js SDK của GroupDocs.Annotation Cloud API. Nó cho phép bạn xây dựng các công cụ chú thích tài liệu trực tuyến theo chương trình. Bạn có thể thêm chú thích, lớp phủ hình mờ, thay thế văn bản, biên tập lại và đánh dấu văn bản vào các định dạng tài liệu được hỗ trợ. Nó cũng cung cấp SDK .NET, Java, PHP, Ruby và Python dưới dạng các thành viên dòng chú thích tài liệu cho Cloud API.

Bạn có thể cài đặt GroupDocs.Annotation 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-annotation-cloud

Vui lòng lấy ID khách hàng và Bí mật khách hàng của bạn từ bảng điều khiển trước khi bạn bắt đầu làm theo các bước và ví dụ về mã có sẵn. 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 = "659fe7da-715b-4744-a0f7-cf469a392b73"; // Get ClientId and ClientSecret from https://dashboard.groupdocs.cloud
global.clientSecret = "b377c36cfa28fa69960ebac6b6e36421"; // Get ClientId and ClientSecret from https://dashboard.groupdocs.cloud
global.myStorage = "";

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

Chú thích Tài liệu PDF bằng API REST trong Node.js

Bạn có thể chú thích tài liệu PDF của mì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:

  1. Tải lên tệp PDF lên Đám mây
  2. Chú thích tài liệu PDF bằng Node.js
  3. Tải xuống tệp chú thích

Tải lên tài liệu

Đầu tiên, tải tệp PDF lên Đám mây bằng mẫu mã sau:

// khởi tạo api
var fileApi = new groupdocs_annotation_cloud.FileApi(configuration);

// Mở tệp trong IOStream từ cục bộ/đĩa.
var resourcesFolder = 'C:\\Files\\sample.pdf';
// Đọc tài liệu
fs.readFile(resourcesFolder, (err, fileStream) => {
  // tạo yêu cầu tệp tải lên
  var request = new groupdocs_annotation_cloud.UploadFileRequest("sample.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.

Chú thích tài liệu PDF bằng Node.js

Bạn có thể thêm nhiều chú thích vào tài liệu PDF theo cách lập 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 AnnotateApi
  • Tạo phiên bản đầu tiên của AnnotationInfo
  • Đặt thuộc tính chú thích cho trường hợp đầu tiên, ví dụ: vị trí, loại, văn bản, v.v.
  • Tạo phiên bản thứ hai của AnnotationInfo
  • Đặt các thuộc tính chú thích cho trường hợp thứ hai, ví dụ: vị trí, loại, văn bản, v.v.
  • Tạo phiên bản thứ ba của AnnotationInfo
  • Đặt thuộc tính chú thích cho trường hợp thứ ba, ví dụ: vị trí, loại, văn bản, v.v.
  • Tạo phiên bản thứ tư của AnnotationInfo
  • Đặt thuộc tính chú thích cho trường hợp thứ tư, ví dụ: vị trí, loại, văn bản, v.v.
  • Tạo một phiên bản FileInfo và đặt đường dẫn tệp đầu vào
  • Tạo một phiên bản của AnnotateOptions
  • Gán FileInfo và các phiên bản chú thích đã xác định cho AnnotateOptions
  • Đặt đường dẫn tệp đầu ra
  • Tạo một yêu cầu bằng cách gọi phương thức AnnotateRequest với AnnotateOptions
  • Nhận kết quả bằng cách gọi phương thức AnnotateApi.annotate() với AnnotateRequest

Mẫu mã sau đây cho biết cách chú thích tài liệu PDF có nhiều chú thích bằng cách sử dụng API REST trong Node.js.

// khởi tạo api
let chú thíchApi = groupdocs_annotation_cloud.AnnotateApi.fromKeys(clientId, clientSecret);

// chú thích khoảng cách
let a1 = new groupdocs_annotation_cloud.AnnotationInfo();
a1.annotationPosition = new groupdocs_annotation_cloud.Point();
a1.annotationPosition.x = 1;
a1.annotationPosition.y = 1;
a1.box = new groupdocs_annotation_cloud.Rectangle();
a1.box.x = 100
a1.box.y = 100
a1.box.width = 200
a1.box.height = 100
a1.pageNumber = 0
a1.penColor = 1201033
a1.penStyle = groupdocs_annotation_cloud.AnnotationInfo.PenStyleEnum.Solid;
a1.penWidth = 3
a1.opacity = 1
a1.type = groupdocs_annotation_cloud.AnnotationInfo.TypeEnum.Distance;
a1.text = "This is chú thích khoảng cách";
a1.creatorName = "Anonym A.";

// chú thích khu vực
let a2 = new groupdocs_annotation_cloud.AnnotationInfo();
a2.annotationPosition = new groupdocs_annotation_cloud.Point();
a2.annotationPosition.x = 1;
a2.annotationPosition.y = 1;
a2.box = new groupdocs_annotation_cloud.Rectangle();
a2.box.x = 80
a2.box.y = 400
a2.box.width = 200
a2.box.height = 100
a2.penColor = 1201033;
a2.penStyle = groupdocs_annotation_cloud.AnnotationInfo.PenStyleEnum.Solid;
a2.pageNumber = 0;
a2.penWidth = 3;
a2.type = groupdocs_annotation_cloud.AnnotationInfo.TypeEnum.Area;
a2.text = "This is chú thích khu vực";
a2.creatorName = "Anonym A.";

// chú thích trường văn bản
let a3 = new groupdocs_annotation_cloud.AnnotationInfo();
a3.annotationPosition = new groupdocs_annotation_cloud.Point();
a3.annotationPosition.x = 100;
a3.annotationPosition.y = 100;
a3.box = new groupdocs_annotation_cloud.Rectangle();
a3.box.x = 450
a3.box.y = 150
a3.box.width = 100
a3.box.height = 30
a3.pageNumber = 0;
a3.fontColor = 65535;
a3.fontSize = 16;
a3.type = groupdocs_annotation_cloud.AnnotationInfo.TypeEnum.TextField;
a3.text = "Text field text";
a3.creatorName = "Anonym A.";

// chú thích hình elip
let a4 = new groupdocs_annotation_cloud.AnnotationInfo();
a4.annotationPosition = new groupdocs_annotation_cloud.Point();
a4.annotationPosition.x = 1;
a4.annotationPosition.y = 1;
a4.box = new groupdocs_annotation_cloud.Rectangle();
a4.box.x = 350;
a4.box.y = 350;
a4.box.width = 200;
a4.box.height = 100;
a4.pageNumber = 0;
a4.penColor = 1201033;
a4.penStyle = groupdocs_annotation_cloud.AnnotationInfo.PenStyleEnum.Solid;
a4.penWidth = 4;
a4.type = groupdocs_annotation_cloud.AnnotationInfo.TypeEnum.Ellipse;
a4.text = "This is chú thích hình elip";
a4.creatorName = "Anonym A.";

let fileInfo = new groupdocs_annotation_cloud.FileInfo();
fileInfo.filePath = "sample.pdf";
let options = new groupdocs_annotation_cloud.AnnotateOptions();
options.fileInfo = fileInfo;
options.annotations = [a1, a2, a3, a4];
options.outputPath = "Output/output.pdf";

// tạo yêu cầu chú thích
let request = new groupdocs_annotation_cloud.AnnotateRequest(options);
// chú thích
let result = await chú thíchApi.chú thích(request);

console.log("Multiple Annotations added: " + result.href);
Chú thích Tài liệu PDF bằng API REST trong Node.js

Chú thích Tài liệu PDF bằng API REST trong Node.js

Bạn có thể đọc thêm về các loại chú thích được hỗ trợ trong phần thêm chú thích trong tài liệu.

Tải xuống tệp chú thích

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

// xây dựng FileApi
var fileApi = new groupdocs_annotation_cloud.FileApi(configuration);

// tạo yêu cầu tệp tải xuống
let request = new groupdocs_annotation_cloud.DownloadFileRequest("Output/output.pdf", myStorage);
// Tải tập tin
let response = await fileApi.downloadFile(request);

// lưu tệp trong thư mục làm việc
fs.writeFile("C:\\Files\\output.pdf", response, "binary", function (err) { });
console.log(response);

Thêm chú thích hình ảnh bằng Node.js

Bạn có thể thêm chú thích hình ảnh vào tài liệu PDF của mình theo cách lập 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 AnnotateApi
  • Tạo một thể hiện của AnnotationInfo
  • Xác định một hình chữ nhật và đặt vị trí, chiều cao và chiều rộng của nó
  • Đặt thuộc tính chú thích, ví dụ: vị trí, văn bản, chiều cao, chiều rộng, v.v.
  • Đặt loại chú thích là Hình ảnh
  • Tạo một phiên bản FileInfo và đặt đường dẫn tệp đầu vào
  • Tạo một phiên bản của AnnotateOptions
  • Gán FileInfo và chú thích cho AnnotateOptions
  • Đặt đường dẫn tệp đầu ra
  • Tạo một yêu cầu bằng cách gọi phương thức AnnotateRequest với AnnotateOptions
  • Nhận kết quả bằng cách gọi phương thức AnnotateApi.annotate() với AnnotateRequest

Mẫu mã sau đây cho biết cách thêm chú thích hình ảnh trong tài liệu PDF bằng API REST trong Node.js. Vui lòng làm theo các bước được đề cập trước đó để tải lên và tải xuống tệp.

// khởi tạo api
let chú thíchApi = groupdocs_annotation_cloud.AnnotateApi.fromKeys(clientId, clientSecret);

// chú thích hình ảnh
let a1 = new groupdocs_annotation_cloud.AnnotationInfo();
a1.annotationPosition = new groupdocs_annotation_cloud.Point();
a1.annotationPosition.x = 1;
a1.annotationPosition.y = 1;
a1.box = new groupdocs_annotation_cloud.Rectangle();
a1.box.x = 300;
a1.box.y = 160;
a1.box.width = 200;
a1.box.height = 40;
a1.pageNumber = 0;
a1.penColor = 1201033;
a1.penStyle = groupdocs_annotation_cloud.AnnotationInfo.PenStyleEnum.Solid;
a1.penWidth = 1;
a1.type = groupdocs_annotation_cloud.AnnotationInfo.TypeEnum.Image;
a1.text = "This is chú thích hình ảnh";
a1.creatorName = "Anonym A.";
a1.imagePath = "JohnSmith.png";

// đường dẫn tệp đầu vào
let fileInfo = new groupdocs_annotation_cloud.FileInfo();
fileInfo.filePath = "sample.pdf";

// xác định tùy chọn chú thích
let options = new groupdocs_annotation_cloud.AnnotateOptions();
options.fileInfo = fileInfo;
options.annotations = [a1];
options.outputPath = "Output/output.pdf";

// tạo yêu cầu chú thích
let request = new groupdocs_annotation_cloud.AnnotateRequest(options);
// chú thích
let result = await chú thíchApi.chú thích(request);

console.log("Image Annotation added: " + result.href);
Thêm chú thích hình ảnh bằng Node.js

Thêm chú thích hình ảnh bằng Node.js

Thử trực tuyến

Vui lòng thử công cụ chú thí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/annotation/pdf

Phần kết luận

Trong bài viết này, bạn đã học cách thêm nhiều chú thích vào tài liệu PDF trên đám mây. Bạn cũng đã học cách thêm chú thích hình ảnh vào tài liệu PDF theo chương trình. Hơn nữa, bạn đã học cách lập trình tải lên tệp PDF trên đám mây và sau đó tải xuống tệp có chú thích từ đám mây. Bạn có thể tìm hiểu thêm về GroupDocs.Annotation 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