Анотуйте PDF-документи за допомогою REST API у PHP

Анотації надають додаткову інформацію про будь-яку конкретну частину документа. Ми можемо позначати документи відгуками та рецензіями за допомогою анотацій. Ми можемо додавати зображення, коментарі, примітки чи інші типи зовнішніх зауважень до PDF-документів як анотації. У цій статті ми дізнаємося, як анотувати PDF-документи за допомогою REST API у PHP.

У цій статті будуть розглянуті такі теми:

PDF Анотація REST API та PHP SDK

Для анотування документів PDF ми будемо використовувати PHP SDK GroupDocs.Annotation Cloud API. Це дозволяє додавати анотації, накладення водяних знаків, заміни тексту, редагування та текстові розмітки до підтримуваних форматів документів. Встановіть його за допомогою такої команди в консолі:

composer require groupdocscloud/groupdocs-annotation-cloud

Після інсталяції використовуйте автозавантаження Composers, щоб використовувати SDK, як показано нижче:

require_once('vendor/autoload.php');

Будь ласка, отримайте свій ідентифікатор клієнта та секрет із інформаційної панелі, перш ніж виконувати вказані дії. Отримавши ідентифікатор і секрет, додайте код, як показано нижче:

// Цей приклад коду демонструє, як додати ідентифікатор клієнта та секрет у код.
static $ClientId = '659fe7da-715b-4744-a0f7-cf469a392b73';
static $ClientSecret = 'b377c36cfa28fa69960ebac6b6e36421';

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

// Ініціалізація конфігурації
$configuration = new GroupDocs\Annotation\Configuration();

// Налаштування конфігурацій
$configuration->setAppSid(self::$ClientId);
$configuration->setAppKey(self::$ClientSecret);
$configuration->setApiBaseUrl(self::$ApiBaseUrl);

Анотуйте PDF-документи за допомогою REST API у PHP

Ми можемо коментувати PDF-документи в хмарі, дотримуючись простих кроків, наведених нижче:

  1. Завантажте файл PDF у хмару
  2. Додати коментарі до документа PDF
  3. Завантажити анотований файл

Завантажте документ

По-перше, ми завантажимо PDF-файл у хмару за допомогою наступного зразка коду:

// Цей приклад коду демонструє, як завантажити PDF-файл у хмару.
// Ініціалізація екземпляра API
$apiInstance = new GroupDocs\Annotation\FileApi($configuration);

// Шлях до файлу
$file = "C:\\Files\\Annotation\\sample.pdf";

// Створити запит на завантаження файлу
$request = new GroupDocs\Annotation\Model\Requests\UploadFileRequest("sample.pdf", $file, self::$MyStorage, null);

// Завантажити файл
$response = $apiInstance->uploadFile($request);

У результаті завантажений PDF-файл буде доступний у розділі файлів інформаційної панелі в хмарі.

Додайте анотації до документа PDF за допомогою PHP

Тепер ми програмно додамо кілька анотацій до завантаженого PDF-документа, виконавши наведені нижче дії.

  • По-перше, створіть екземпляр AnnotateApi.
  • Далі встановіть властивості анотації, наприклад положення, тип, текст тощо.
  • Потім повторіть описаний вище крок, щоб додати кілька анотацій.
  • Далі вкажіть шлях до вхідного файлу.
  • Потім ініціалізуйте об’єкт AnnotateOptions і встановіть вихідний шлях до файлу.
  • Після цього створіть AnnotateRequest з AnnotateOptions як аргумент.
  • Нарешті, анотуйте PDF за допомогою методу AnnotateApi.annotate().

У наведеному нижче прикладі коду показано, як додати кілька анотацій до документа PDF за допомогою REST API у PHP.

// Цей приклад коду демонструє, як додати кілька анотацій до PDF-файлу.
// Ініціалізація екземпляра AnnotationAPI
$apiInstance = new GroupDocs\Annotation\АнотуйтеApi($configuration);

// Додати анотацію відстані
$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.");  

// Додайте анотацію області
$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.");   

// Додайте анотацію точки
$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.");  

// Додайте анотацію зі стрілкою
$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.");  

// Вхідний шлях до файлу
$fileInfo = new GroupDocs\Annotation\Model\FileInfo();
$fileInfo->setFilePath("sample.pdf");

// Визначте параметри анотації
$options = new GroupDocs\Annotation\Model\АнотуйтеOptions();
$options->setFileInfo($fileInfo);
$options->setAnnotations([$a, $a1, $a2, $a3]);
$options->setOutputPath("MultipleAnnotation.pdf");

// Створити запит на анотацію
$request = new GroupDocs\Annotation\Model\Requests\annotateRequest($options);

// Анотуйте
$result = $apiInstance->annotate($request);
echo "AddMultipleAnnotations: Multiple Annotations added: " . $result->getHref();
Додайте коментарі до документа PDF за допомогою PHP

Додайте анотації до документа PDF за допомогою PHP.

Ви можете прочитати більше про підтримувані типи анотацій у розділі додавання анотацій документації.

Завантажте анотований файл

Наведений вище зразок коду збереже анотований PDF-файл у хмарі. Його можна завантажити за допомогою наступного зразка коду:

// Цей приклад коду демонструє, як завантажити PDF-файл із хмари.
// Ініціалізація екземпляра API
$apiInstance = new GroupDocs\Annotation\FileApi($configuration);

// Створити запит на завантаження файлу
$request = new GroupDocs\Annotation\Model\Requests\DownloadFileRequest("MultipleAnnotation.pdf", self::$MyStorage, null);

// Завантажити файл
$response = $apiInstance->downloadFile($request);

Ми також можемо додати анотацію гіперпосилання до документа PDF, виконавши наведені нижче дії.

  • По-перше, створіть екземпляр AnnotateApi.
  • Далі встановіть властивості анотації, наприклад положення, текст тощо.
  • Потім установіть тип анотації як посилання.
  • Далі вкажіть шлях до вхідного файлу.
  • Потім ініціалізуйте об’єкт AnnotateOptions і встановіть вихідний шлях до файлу.
  • Після цього створіть AnnotateRequest з AnnotateOptions як аргумент.
  • Нарешті, анотуйте PDF за допомогою методу AnnotateApi.annotate().

У наведеному нижче прикладі коду показано, як додати анотацію гіперпосилання в PDF-документ за допомогою REST API. Будь ласка, виконайте кроки, згадані раніше, щоб завантажити та завантажити файл.

// Цей приклад коду демонструє, як додати анотацію посилання до PDF
// Ініціалізація екземпляра AnnotationAPI
$apiInstance = new GroupDocs\Annotation\АнотуйтеApi($configuration);

// Додати анотацію посилання
$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.");   

// Вхідний шлях до файлу
$fileInfo = new GroupDocs\Annotation\Model\FileInfo();
$fileInfo->setFilePath("sample.pdf");

// Визначте параметри анотації
$options = new GroupDocs\Annotation\Model\АнотуйтеOptions();
$options->setFileInfo($fileInfo);
$options->setAnnotations([$a]);
$options->setOutputPath("AddLinkAnnotation.pdf");

// Створити запит на анотацію
$request = new GroupDocs\Annotation\Model\Requests\annotateRequest($options);

// Анотуйте
$result = $apiInstance->annotate($request);
echo "AddLinkAnnotation: Link Annotation added: " . $result->getHref();
Додайте анотації за допомогою анотацій посилань за допомогою PHP.

Додайте анотації за допомогою анотацій посилань за допомогою PHP.

Додайте анотацію зображення за допомогою PHP

Ми можемо додати анотацію зображення в PDF-документ, виконавши кроки, згадані раніше. Однак нам просто потрібно встановити тип анотації зображення, як показано нижче:

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

У наведеному нижче прикладі коду показано, як додати анотацію зображення в PDF-документ за допомогою REST API у PHP. Будь ласка, виконайте кроки, згадані раніше, щоб завантажити та завантажити файл.

// Цей приклад коду демонструє, як додати анотацію зображення до PDF
// Ініціалізація екземпляра AnnotationAPI
$apiInstance = new GroupDocs\Annotation\АнотуйтеApi($configuration);

// Додати анотацію до зображення
$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.");   

// Вхідний шлях до файлу
$fileInfo = new GroupDocs\Annotation\Model\FileInfo();
$fileInfo->setFilePath("sample.pdf");

// Визначте параметри анотації
$options = new GroupDocs\Annotation\Model\АнотуйтеOptions();
$options->setFileInfo($fileInfo);
$options->setAnnotations([$a]);
$options->setOutputPath("AddImageAnnotation.pdf");

// Створити запит на анотацію
$request = new GroupDocs\Annotation\Model\Requests\annotateRequest($options);

// Анотуйте
$result = $apiInstance->annotate($request);
echo "AddImageAnnotation: Image Annotation added: " . $result->getHref();
Додайте анотацію зображення за допомогою PHP.

Додайте анотацію зображення за допомогою PHP.

Додайте анотацію текстового поля за допомогою PHP

Ми також можемо додати анотацію текстового поля до PDF-документа, виконавши кроки, згадані раніше. Однак нам просто потрібно встановити тип анотації для текстового поля, як показано нижче:

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

У наведеному нижче прикладі коду показано, як додати анотацію текстового поля в PDF-документ за допомогою REST API. Будь ласка, виконайте кроки, згадані раніше, щоб завантажити та завантажити файл.

// Цей приклад коду демонструє, як додати анотацію текстового поля до PDF
// Ініціалізація екземпляра AnnotationAPI
$apiInstance = new GroupDocs\Annotation\АнотуйтеApi($configuration);

// Додайте анотацію 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.");   

// Вхідний шлях до файлу
$fileInfo = new GroupDocs\Annotation\Model\FileInfo();
$fileInfo->setFilePath("sample.pdf");

// Визначте параметри анотації
$options = new GroupDocs\Annotation\Model\АнотуйтеOptions();
$options->setFileInfo($fileInfo);
$options->setAnnotations([$a]);
$options->setOutputPath("AddTextFieldAnnotation.pdf");

// Створити запит на анотацію
$request = new GroupDocs\Annotation\Model\Requests\annotateRequest($options);

// Анотуйте
$result = $apiInstance->annotate($request);
echo "AddTextFieldAnnotation: Text Field Annotation added: " . $result->getHref();
Додайте анотацію текстового поля за допомогою PHP.

Додайте анотацію текстового поля за допомогою PHP.

Спробуйте онлайн

Будь ласка, спробуйте наведений нижче безкоштовний онлайн-інструмент анотування PDF-файлів, розроблений за допомогою вищезазначеного API. https://products.groupdocs.app/annotation/pdf

Висновок

У цій статті ми дізналися, як:

  • додати кілька анотацій до PDF за допомогою PHP;
  • анотувати PDF за допомогою анотацій посилань, зображень і текстових полів у PHP;
  • програмно завантажити PDF-файл у хмару;
  • завантажте PDF-файл із коментарями з хмари.

Крім того, ви можете дізнатися більше про GroupDocs.Annotation Cloud API за допомогою документації. Ми також надаємо розділ API Reference, який дозволяє візуалізувати наші API та взаємодіяти з ними безпосередньо через браузер. У разі будь-яких неясностей зв’яжіться з нами на форумі.

Дивись також