Adnotuj dokumenty PDF za pomocą REST API w PHP

Adnotacje dostarczają dodatkowych informacji o dowolnej części dokumentu. Dokumenty z opiniami i recenzjami możemy oznaczać za pomocą adnotacji. Możemy dodawać obrazy, komentarze, notatki lub inne rodzaje zewnętrznych uwag do dokumentów PDF jako adnotacje. W tym artykule dowiemy się, jak dodawać adnotacje do dokumentów PDF za pomocą REST API w PHP.

W tym artykule zostaną omówione następujące tematy:

Adnotacje PDF REST API i PHP SDK

Do dodawania adnotacji do dokumentów PDF będziemy używać interfejsu API PHP SDK of GroupDocs.Annotation Cloud. Umożliwia dodawanie adnotacji, nakładek ze znakami wodnymi, zamiany tekstu, redakcji i znaczników tekstu do obsługiwanych formatów dokumentów. Zainstaluj go za pomocą następującego polecenia w konsoli:

composer require groupdocscloud/groupdocs-annotation-cloud

Po instalacji użyj autoload Composers, aby użyć SDK, jak pokazano poniżej:

require_once('vendor/autoload.php');

Proszę uzyskaj swój identyfikator klienta i klucz tajny z pulpitu nawigacyjnego przed wykonaniem wspomnianych kroków. Po uzyskaniu identyfikatora i tajnego kodu dodaj kod, jak pokazano poniżej:

// Ten przykład kodu demonstruje, jak dodać identyfikator klienta i wpis tajny w kodzie.
static $ClientId = '659fe7da-715b-4744-a0f7-cf469a392b73';
static $ClientSecret = 'b377c36cfa28fa69960ebac6b6e36421';

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

// Inicjalizacja konfiguracji
$configuration = new GroupDocs\Annotation\Configuration();

// Ustawianie konfiguracji
$configuration->setAppSid(self::$ClientId);
$configuration->setAppKey(self::$ClientSecret);
$configuration->setApiBaseUrl(self::$ApiBaseUrl);

Dodawaj adnotacje do dokumentów PDF za pomocą interfejsu API REST w PHP

Możemy dodawać adnotacje do dokumentów PDF w chmurze, wykonując proste czynności podane poniżej:

  1. Prześlij plik PDF do chmury
  2. Dodaj adnotacje do dokumentu PDF
  3. Pobierz plik z adnotacjami

Prześlij dokument

Najpierw prześlemy plik PDF do chmury, korzystając z następującego przykładowego kodu:

// Ten przykład kodu demonstruje, jak przekazać plik PDF do chmury.
// Zainicjuj wystąpienie interfejsu API
$apiInstance = new GroupDocs\Annotation\FileApi($configuration);

// Ścieżka pliku
$file = "C:\\Files\\Annotation\\sample.pdf";

// Utwórz prośbę o przesłanie pliku
$request = new GroupDocs\Annotation\Model\Requests\UploadFileRequest("sample.pdf", $file, self::$MyStorage, null);

// Przesyłanie pliku
$response = $apiInstance->uploadFile($request);

W rezultacie przesłany plik PDF będzie dostępny w sekcji plików pulpitu nawigacyjnego w chmurze.

Adnotuj dokument PDF za pomocą PHP

Teraz programowo dodamy wiele adnotacji do przesłanego dokumentu PDF, wykonując czynności podane poniżej:

  • Najpierw utwórz instancję klasy AnnotateApi.
  • Następnie ustaw właściwości adnotacji, np. pozycję, typ, tekst itp.
  • Następnie powtórz powyższy krok, aby dodać wiele adnotacji.
  • Następnie podaj ścieżkę pliku wejściowego.
  • Następnie zainicjuj obiekt AnnotateOptions i ustaw ścieżkę pliku wyjściowego.
  • Następnie utwórz AnnotateRequest z AnnotateOptions jako argumentem.
  • Na koniec opisz plik PDF za pomocą metody AnnotateApi.annotate().

Poniższy przykładowy kod pokazuje, jak dodać wiele adnotacji do dokumentu PDF przy użyciu interfejsu API REST w języku PHP.

// Ten przykład kodu pokazuje, jak dodać wiele adnotacji do pliku PDF.
// Zainicjuj instancję interfejsu AnnotationAPI
$apiInstance = new GroupDocs\Annotation\KomentowaćApi($configuration);

// Dodaj adnotację odległości
$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.");  

// Dodaj adnotację obszaru
$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.");   

// Dodaj adnotację punktu
$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.");  

// Dodaj adnotację strzałki
$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.");  

// Wprowadź ścieżkę pliku
$fileInfo = new GroupDocs\Annotation\Model\FileInfo();
$fileInfo->setFilePath("sample.pdf");

// Zdefiniuj opcje adnotacji
$options = new GroupDocs\Annotation\Model\KomentowaćOptions();
$options->setFileInfo($fileInfo);
$options->setAnnotations([$a, $a1, $a2, $a3]);
$options->setOutputPath("MultipleAnnotation.pdf");

// Utwórz żądanie adnotacji
$request = new GroupDocs\Annotation\Model\Requests\annotateRequest($options);

// Komentować
$result = $apiInstance->annotate($request);
echo "AddMultipleAnnotations: Multiple Annotations added: " . $result->getHref();
Adnotuj dokument PDF za pomocą PHP

Adnotuj dokument PDF za pomocą PHP.

Możesz przeczytać więcej o obsługiwanych typach adnotacji w sekcji dodawanie adnotacji w dokumentacji.

Pobierz plik z adnotacjami

Powyższy przykładowy kod zapisze plik PDF z adnotacjami w chmurze. Można go pobrać, korzystając z następującego przykładowego kodu:

// Ten przykład kodu pokazuje, jak pobrać plik PDF z chmury.
// Inicjowanie wystąpienia interfejsu API
$apiInstance = new GroupDocs\Annotation\FileApi($configuration);

// Utwórz żądanie pobrania pliku
$request = new GroupDocs\Annotation\Model\Requests\DownloadFileRequest("MultipleAnnotation.pdf", self::$MyStorage, null);

// Pobieranie pliku
$response = $apiInstance->downloadFile($request);

Możemy również dodać adnotację hiperłącza w dokumencie PDF, wykonując czynności podane poniżej:

  • Najpierw utwórz instancję klasy AnnotateApi.
  • Następnie ustaw właściwości adnotacji, np. pozycję, tekst itp.
  • Następnie ustaw typ adnotacji jako Link.
  • Następnie podaj ścieżkę pliku wejściowego.
  • Następnie zainicjuj obiekt AnnotateOptions i ustaw ścieżkę pliku wyjściowego.
  • Następnie utwórz AnnotateRequest z AnnotateOptions jako argumentem.
  • Na koniec opisz plik PDF za pomocą metody AnnotateApi.annotate().

Poniższy przykładowy kod pokazuje, jak dodać adnotację hiperłącza w dokumencie PDF przy użyciu interfejsu API REST. Wykonaj czynności wymienione wcześniej, aby przesłać i pobrać plik.

// Ten przykład kodu pokazuje, jak dodać adnotację łącza do pliku PDF
// Zainicjuj instancję interfejsu AnnotationAPI
$apiInstance = new GroupDocs\Annotation\KomentowaćApi($configuration);

// Dodaj adnotację linku
$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.");   

// Wprowadź ścieżkę pliku
$fileInfo = new GroupDocs\Annotation\Model\FileInfo();
$fileInfo->setFilePath("sample.pdf");

// Zdefiniuj opcje adnotacji
$options = new GroupDocs\Annotation\Model\KomentowaćOptions();
$options->setFileInfo($fileInfo);
$options->setAnnotations([$a]);
$options->setOutputPath("AddLinkAnnotation.pdf");

// Utwórz żądanie adnotacji
$request = new GroupDocs\Annotation\Model\Requests\annotateRequest($options);

// Komentować
$result = $apiInstance->annotate($request);
echo "AddLinkAnnotation: Link Annotation added: " . $result->getHref();
Adnotuj za pomocą adnotacji linków za pomocą PHP.

Adnotuj za pomocą adnotacji linków za pomocą PHP.

Dodaj adnotację obrazu za pomocą PHP

Możemy dodać adnotację do obrazu w dokumencie PDF, wykonując czynności wymienione wcześniej. Jednak musimy tylko ustawić typ adnotacji na obraz, jak pokazano poniżej:

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

Poniższy przykładowy kod pokazuje, jak dodać adnotację do obrazu w dokumencie PDF przy użyciu interfejsu API REST w języku PHP. Wykonaj czynności wymienione wcześniej, aby przesłać i pobrać plik.

// Ten przykład kodu demonstruje, jak dodać adnotację obrazu do pliku PDF
// Zainicjuj instancję interfejsu AnnotationAPI
$apiInstance = new GroupDocs\Annotation\KomentowaćApi($configuration);

// Dodaj adnotację obrazu
$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.");   

// Wprowadź ścieżkę pliku
$fileInfo = new GroupDocs\Annotation\Model\FileInfo();
$fileInfo->setFilePath("sample.pdf");

// Zdefiniuj opcje adnotacji
$options = new GroupDocs\Annotation\Model\KomentowaćOptions();
$options->setFileInfo($fileInfo);
$options->setAnnotations([$a]);
$options->setOutputPath("AddImageAnnotation.pdf");

// Utwórz żądanie adnotacji
$request = new GroupDocs\Annotation\Model\Requests\annotateRequest($options);

// Komentować
$result = $apiInstance->annotate($request);
echo "AddImageAnnotation: Image Annotation added: " . $result->getHref();
Dodaj adnotację obrazu za pomocą PHP.

Dodaj adnotację obrazu za pomocą PHP.

Dodaj adnotację pola tekstowego za pomocą PHP

Możemy również dodać adnotację pola tekstowego w dokumencie PDF, wykonując czynności wymienione wcześniej. Jednak musimy tylko ustawić typ adnotacji na pole tekstowe, jak pokazano poniżej:

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

Poniższy przykładowy kod pokazuje, jak dodać adnotację pola tekstowego w dokumencie PDF przy użyciu interfejsu API REST. Wykonaj czynności wymienione wcześniej, aby przesłać i pobrać plik.

// Ten przykład kodu pokazuje, jak dodać adnotację pola tekstowego do pliku PDF
// Zainicjuj instancję interfejsu AnnotationAPI
$apiInstance = new GroupDocs\Annotation\KomentowaćApi($configuration);

// Dodaj adnotację 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.");   

// Wprowadź ścieżkę pliku
$fileInfo = new GroupDocs\Annotation\Model\FileInfo();
$fileInfo->setFilePath("sample.pdf");

// Zdefiniuj opcje adnotacji
$options = new GroupDocs\Annotation\Model\KomentowaćOptions();
$options->setFileInfo($fileInfo);
$options->setAnnotations([$a]);
$options->setOutputPath("AddTextFieldAnnotation.pdf");

// Utwórz żądanie adnotacji
$request = new GroupDocs\Annotation\Model\Requests\annotateRequest($options);

// Komentować
$result = $apiInstance->annotate($request);
echo "AddTextFieldAnnotation: Text Field Annotation added: " . $result->getHref();
Dodaj adnotację pola tekstowego za pomocą PHP.

Dodaj adnotację pola tekstowego za pomocą PHP.

Wypróbuj online

Wypróbuj następujące bezpłatne narzędzie online do adnotacji PDF, które zostało opracowane przy użyciu powyższego interfejsu API. https://products.groupdocs.app/annotation/pdf

Wniosek

W tym artykule dowiedzieliśmy się, jak:

  • dodawać wiele adnotacji do pliku PDF za pomocą PHP;
  • adnotuj plik PDF za pomocą linku, obrazu i adnotacji pola tekstowego w PHP;
  • programowo przesłać plik PDF do chmury;
  • pobierz plik PDF z adnotacjami z chmury.

Poza tym możesz dowiedzieć się więcej o GroupDocs.Annotation Cloud API korzystając z dokumentacji. Udostępniamy również sekcję Informacje o interfejsach API, która umożliwia wizualizację naszych interfejsów API i interakcję z nimi bezpośrednio w przeglądarce. W przypadku jakichkolwiek niejasności prosimy o kontakt na forum.

Zobacz też