Chú thích tài liệu PDF bằng API REST trong PHP

Chú thích cung cấp thêm thông tin về bất kỳ phần cụ thể nào của tài liệu. Chúng tôi có thể đánh dấu các tài liệu bằng phản hồi và đánh giá bằng cách sử dụng chú thích. Chúng tôi 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 PDF dưới dạng chú thích. Trong bài viết này, chúng ta sẽ tìm hiểu cách chú thích tài liệu PDF bằng API REST trong PHP.

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

Chú thích PDF API REST và PHP SDK

Để chú thích tài liệu PDF, chúng tôi sẽ sử dụng PHP SDK của GroupDocs.Annotation Cloud API. Nó cho phép 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ợ. Vui lòng cài đặt nó bằng lệnh sau trong bảng điều khiển:

composer require groupdocscloud/groupdocs-annotation-cloud

Sau khi cài đặt, vui lòng sử dụng Composers’ autoload để sử dụng SDK như hình bên dưới:

require_once('vendor/autoload.php');

Vui lòng lấy Client ID và Secret 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:

// Ví dụ về mã này trình bày cách thêm id khách hàng và bí mật trong mã.
static $ClientId = '659fe7da-715b-4744-a0f7-cf469a392b73';
static $ClientSecret = 'b377c36cfa28fa69960ebac6b6e36421';

static $ApiBaseUrl = 'https://api.groupdocs.cloud';
static $MyStorage = '';

// Khởi tạo cấu hình
$configuration = new GroupDocs\Annotation\Configuration();

// Cài đặt cấu hình
$configuration->setAppSid(self::$ClientId);
$configuration->setAppKey(self::$ClientSecret);
$configuration->setApiBaseUrl(self::$ApiBaseUrl);

Chú thích tài liệu PDF bằng API REST trong PHP

Chúng tôi có thể chú thích tài liệu PDF 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
  3. Tải xuống tệp chú thích

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

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

// Ví dụ mã này trình bày cách tải tệp PDF lên đám mây.
// Khởi tạo một phiên bản của API
$apiInstance = new GroupDocs\Annotation\FileApi($configuration);

// Đường dẫn tập tin
$file = "C:\\Files\\Annotation\\sample.pdf";

// Tạo yêu cầu tệp tải lên
$request = new GroupDocs\Annotation\Model\Requests\UploadFileRequest("sample.pdf", $file, self::$MyStorage, null);

// Cập nhật dử liệu
$response = $apiInstance->uploadFile($request);

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

Chú thích tài liệu PDF bằng PHP

Bây giờ, chúng tôi sẽ thêm nhiều chú thích vào tài liệu PDF đã tải lên theo chương trình bằng cách thực hiện theo các bước dưới đây:

  • Đầu tiên, tạo một phiên bản của AnnotateApi.
  • Tiếp theo, đặt thuộc tính chú thích, ví dụ: vị trí, loại, văn bản, v.v.
  • Sau đó, lặp lại bước trên để thêm nhiều chú thích.
  • Tiếp theo, cung cấp đường dẫn tệp đầu vào.
  • Sau đó, khởi tạo đối tượng AnnotateOptions và đặt đường dẫn tệp đầu ra.
  • Sau đó, tạo AnnotateRequest với AnnotateOptions làm đối số.
  • Cuối cùng, chú thích PDF bằng phương thức AnnotateApi.annotate().

Mẫu mã sau đây cho biết cách thêm nhiều chú thích vào tài liệu PDF bằng API REST trong PHP.

// Ví dụ mã này trình bày cách thêm nhiều chú thích vào PDF.
// Khởi tạo phiên bản AnnotationAPI
$apiInstance = new GroupDocs\Annotation\chú thíchApi($configuration);

// Thêm chú thích khoảng cách
$a = new GroupDocs\Annotation\Model\AnnotationInfo();
$pt = new GroupDocs\Annotation\Model\Point();
$pt->setX(1);
$pt->setY(1);
$a->setAnnotationPosition($pt);
$box = new GroupDocs\Annotation\Model\Rectangle();
$box->setX(100);
$box->setY(100);
$box->setWidth(200);
$box->setHeight(100);
$a->setBox($box);
$a->setPageNumber(0);
$a->setPenColor(1201033);
$a->setPenStyle(GroupDocs\Annotation\Model\AnnotationInfo::PEN_STYLE_SOLID);
$a->setPenWidth(1);
$a->setOpacity(0.7);
$a->setType(GroupDocs\Annotation\Model\AnnotationInfo::TYPE_DISTANCE);
$a->setText("This is distance annotation");
$a->setCreatorName("Anonym A.");  

// Thêm chú thích khu vực
$a1 = new GroupDocs\Annotation\Model\AnnotationInfo();
$pt1 = new GroupDocs\Annotation\Model\Point();
$pt1->setX(1);
$pt1->setY(1);
$a1->setAnnotationPosition($pt1);
$box1 = new GroupDocs\Annotation\Model\Rectangle();
$box1->setX(80);
$box1->setY(400);
$box1->setWidth(200);
$box1->setHeight(100);
$a1->setBox($box1);
$a1->setPageNumber(0);
$a1->setPenColor(1201033);
$a1->setPenStyle(GroupDocs\Annotation\Model\AnnotationInfo::PEN_STYLE_SOLID);
$a1->setPenWidth(1);
$a1->setOpacity(0.7);
$a1->setType(GroupDocs\Annotation\Model\AnnotationInfo::TYPE_AREA);
$a1->setText("This is area annotation");
$a1->setCreatorName("Anonym A.");   

// Thêm chú thích điểm
$a2 = new GroupDocs\Annotation\Model\AnnotationInfo();
$pt2 = new GroupDocs\Annotation\Model\Point();
$pt2->setX(100);
$pt2->setY(100);
$a2->setAnnotationPosition($pt2);
$box2 = new GroupDocs\Annotation\Model\Rectangle();
$box2->setX(450);
$box2->setY(150);
$box2->setWidth(100);
$box2->setHeight(30);
$a2->setBox($box2);
$a2->setPageNumber(0);
$a2->setOpacity(0.7);
$a2->setType(GroupDocs\Annotation\Model\AnnotationInfo::TYPE_POINT);
$a2->setText("This is point annotation");
$a2->setCreatorName("Anonym A.");  

// Thêm chú thích mũi tên
$a3 = new GroupDocs\Annotation\Model\AnnotationInfo();
$pt3 = new GroupDocs\Annotation\Model\Point();
$pt3->setX(1);
$pt3->setY(1);
$a3->setAnnotationPosition($pt3);
$box3 = new GroupDocs\Annotation\Model\Rectangle();
$box3->setX(350);
$box3->setY(350);
$box3->setWidth(200);
$box3->setHeight(100);
$a3->setBox($box3);
$a3->setPageNumber(0);
$a3->setPenColor(1201033);
$a3->setPenStyle(GroupDocs\Annotation\Model\AnnotationInfo::PEN_STYLE_SOLID);
$a3->setPenWidth(1);
$a3->setOpacity(0.7);
$a3->setType(GroupDocs\Annotation\Model\AnnotationInfo::TYPE_ARROW);
$a3->setText("This is arrow annotation");
$a3->setCreatorName("Anonym A.");  

// Đường dẫn tệp đầu vào
$fileInfo = new GroupDocs\Annotation\Model\FileInfo();
$fileInfo->setFilePath("sample.pdf");

// Xác định các tùy chọn chú thích
$options = new GroupDocs\Annotation\Model\chú thíchOptions();
$options->setFileInfo($fileInfo);
$options->setAnnotations([$a, $a1, $a2, $a3]);
$options->setOutputPath("MultipleAnnotation.pdf");

// Tạo yêu cầu chú thích
$request = new GroupDocs\Annotation\Model\Requests\annotateRequest($options);

// chú thích
$result = $apiInstance->annotate($request);
echo "AddMultipleAnnotations: Multiple Annotations added: " . $result->getHref();
Chú thích tài liệu PDF bằng PHP

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

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. Nó có thể được tải xuống bằng cách sử dụng mẫu mã sau:

// Ví dụ mã này trình bày cách tải xuống tệp PDF từ đám mây.
// Khởi tạo một thể hiện của API
$apiInstance = new GroupDocs\Annotation\FileApi($configuration);

// Tạo yêu cầu tệp tải xuống
$request = new GroupDocs\Annotation\Model\Requests\DownloadFileRequest("MultipleAnnotation.pdf", self::$MyStorage, null);

// Tải tập tin
$response = $apiInstance->downloadFile($request);

Chúng tôi cũng có thể thêm chú thích siêu liên kết trong tài liệu PDF bằng cách làm theo các bước dưới đây:

  • Đầu tiên, tạo một phiên bản của AnnotateApi.
  • Tiếp theo, đặt thuộc tính chú thích, ví dụ: vị trí, văn bản, v.v.
  • Sau đó, đặt loại chú thích là Liên kết.
  • Tiếp theo, cung cấp đường dẫn tệp đầu vào.
  • Sau đó, khởi tạo đối tượng AnnotateOptions và đặt đường dẫn tệp đầu ra.
  • Sau đó, tạo AnnotateRequest với AnnotateOptions làm đối số.
  • Cuối cùng, chú thích PDF bằng phương pháp AnnotateApi.annotate().

Mẫu mã sau đây cho biết cách thêm chú thích siêu liên kết trong tài liệu PDF bằng API REST. 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.

// Ví dụ mã này trình bày cách thêm chú thích liên kết vào PDF
// Khởi tạo phiên bản AnnotationAPI
$apiInstance = new GroupDocs\Annotation\chú thíchApi($configuration);

// Thêm chú thích liên kết
$a = new GroupDocs\Annotation\Model\AnnotationInfo();
$pt1 = new GroupDocs\Annotation\Model\Point();
$pt1->setX(80);
$pt1->setY(710);
$pt2 = new GroupDocs\Annotation\Model\Point();
$pt2->setX(240);
$pt2->setY(710);		
$pt3 = new GroupDocs\Annotation\Model\Point();
$pt3->setX(80);
$pt3->setY(650);		
$pt4 = new GroupDocs\Annotation\Model\Point();
$pt4->setX(240);
$pt4->setY(650);		
$a->setPoints([$pt1, $pt2, $pt3, $pt4]);
$a->setUrl("https://www.groupdocs.com/");
$a->setPageNumber(0);
$a->setFontColor(1201033);
$a->setType(GroupDocs\Annotation\Model\AnnotationInfo::TYPE_LINK);
$a->setText("This is link annotation");
$a->setCreatorName("Anonym A.");   

// Đường dẫn tệp đầu vào
$fileInfo = new GroupDocs\Annotation\Model\FileInfo();
$fileInfo->setFilePath("sample.pdf");

// Xác định các tùy chọn chú thích
$options = new GroupDocs\Annotation\Model\chú thíchOptions();
$options->setFileInfo($fileInfo);
$options->setAnnotations([$a]);
$options->setOutputPath("AddLinkAnnotation.pdf");

// Tạo yêu cầu chú thích
$request = new GroupDocs\Annotation\Model\Requests\annotateRequest($options);

// chú thích
$result = $apiInstance->annotate($request);
echo "AddLinkAnnotation: Link Annotation added: " . $result->getHref();
Chú thích với Chú thích liên kết bằng PHP.

Chú thích với Chú thích liên kết bằng PHP.

Thêm chú thích hình ảnh bằng PHP

Chúng tôi có thể thêm chú thích hình ảnh trong tài liệu PDF bằng cách làm theo các bước đã đề cập trước đó. Tuy nhiên chúng ta chỉ cần thiết lập kiểu chú thích là image như hình bên dưới:

$a->setType(GroupDocs\Annotation\Model\AnnotationInfo::TYPE_IMAGE);

Mẫu mã sau đây cho biết cách thêm chú thích hình ảnh vào tài liệu PDF bằng API REST trong PHP. 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.

// Ví dụ mã này trình bày cách thêm chú thích hình ảnh vào PDF
// Khởi tạo phiên bản AnnotationAPI
$apiInstance = new GroupDocs\Annotation\chú thíchApi($configuration);

// Thêm chú thích hình ảnh
$a = new GroupDocs\Annotation\Model\AnnotationInfo();
$pt = new GroupDocs\Annotation\Model\Point();
$pt->setX(1);
$pt->setY(1);
$a->setAnnotationPosition($pt);
$box = new GroupDocs\Annotation\Model\Rectangle();
$box->setX(200);
$box->setY(0);
$box->setWidth(200);
$box->setHeight(100);
$a->setBox($box);
$a->setPageNumber(0);
$a->setImagePath("groupdocs.png");
$a->setPenStyle(GroupDocs\Annotation\Model\AnnotationInfo::PEN_STYLE_SOLID);
$a->setOpacity(0.7);
$a->setType(GroupDocs\Annotation\Model\AnnotationInfo::TYPE_IMAGE);
$a->setText("This is image annotation");
$a->setCreatorName("Anonym A.");   

// Đường dẫn tệp đầu vào
$fileInfo = new GroupDocs\Annotation\Model\FileInfo();
$fileInfo->setFilePath("sample.pdf");

// Xác định các tùy chọn chú thích
$options = new GroupDocs\Annotation\Model\chú thíchOptions();
$options->setFileInfo($fileInfo);
$options->setAnnotations([$a]);
$options->setOutputPath("AddImageAnnotation.pdf");

// Tạo yêu cầu chú thích
$request = new GroupDocs\Annotation\Model\Requests\annotateRequest($options);

// chú thích
$result = $apiInstance->annotate($request);
echo "AddImageAnnotation: Image Annotation added: " . $result->getHref();
Thêm chú thích hình ảnh bằng PHP.

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

Thêm chú thích trường văn bản bằng PHP

Chúng tôi cũng có thể thêm chú thích trường văn bản trong tài liệu PDF bằng cách làm theo các bước đã đề cập trước đó. Tuy nhiên, chúng ta chỉ cần đặt loại chú thích thành trường văn bản như hình bên dưới:

$a->setType(GroupDocs\Annotation\Model\AnnotationInfo::TYPE_TEXT_FIELD);

Mẫu mã sau đây cho biết cách thêm chú thích trường văn bản trong tài liệu PDF bằng API REST. 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.

// Ví dụ mã này trình bày cách thêm chú thích trường văn bản vào PDF
// Khởi tạo phiên bản AnnotationAPI
$apiInstance = new GroupDocs\Annotation\chú thíchApi($configuration);

// Thêm chú thích TextField
$a = new GroupDocs\Annotation\Model\AnnotationInfo();
$pt = new GroupDocs\Annotation\Model\Point();
$pt->setX(1);
$pt->setY(1);
$a->setAnnotationPosition($pt);
$box = new GroupDocs\Annotation\Model\Rectangle();
$box->setX(380);
$box->setY(300);
$box->setWidth(100);
$box->setHeight(50);
$a->setBox($box);
$a->setPageNumber(0);
$a->setFontColor(1201033);
$a->setFontSize(12);
$a->setOpacity(0.7);
$a->setType(GroupDocs\Annotation\Model\AnnotationInfo::TYPE_TEXT_FIELD);
$a->setText("Text field text");
$a->setCreatorName("Anonym A.");   

// Đường dẫn tệp đầu vào
$fileInfo = new GroupDocs\Annotation\Model\FileInfo();
$fileInfo->setFilePath("sample.pdf");

// Xác định các tùy chọn chú thích
$options = new GroupDocs\Annotation\Model\chú thíchOptions();
$options->setFileInfo($fileInfo);
$options->setAnnotations([$a]);
$options->setOutputPath("AddTextFieldAnnotation.pdf");

// Tạo yêu cầu chú thích
$request = new GroupDocs\Annotation\Model\Requests\annotateRequest($options);

// chú thích
$result = $apiInstance->annotate($request);
echo "AddTextFieldAnnotation: Text Field Annotation added: " . $result->getHref();
Thêm chú thích trường văn bản bằng PHP.

Thêm chú thích trường văn bản bằng PHP.

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, chúng ta đã học cách:

  • thêm nhiều chú thích vào PDF bằng PHP;
  • chú thích PDF với chú thích trường liên kết, hình ảnh và văn bản trong PHP;
  • lập trình tải tệp PDF lên đám mây;
  • tải xuống tệp PDF có chú thích từ đám mây.

Ngoài ra, 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