Annota i documenti PDF utilizzando l'API REST in PHP

Le annotazioni forniscono informazioni aggiuntive su qualsiasi parte specifica del documento. Possiamo contrassegnare i documenti con feedback e revisioni utilizzando le annotazioni. Possiamo aggiungere immagini, commenti, note o altri tipi di osservazioni esterne ai documenti PDF come annotazioni. In questo articolo impareremo come annotare documenti PDF utilizzando un’API REST in PHP.

In questo articolo saranno trattati i seguenti argomenti:

API REST di annotazione PDF e SDK PHP

Per annotare i documenti PDF, utilizzeremo l’API PHP SDK of GroupDocs.Annotation Cloud. Consente di aggiungere annotazioni, sovrapposizioni di filigrane, sostituzioni di testo, redazioni e marcature di testo ai formati di documenti supportati. Si prega di installarlo utilizzando il seguente comando nella console:

composer require groupdocscloud/groupdocs-annotation-cloud

Dopo l’installazione, utilizzare autoload di Composers per utilizzare l’SDK come mostrato di seguito:

require_once('vendor/autoload.php');

Si prega di ottenere l’ID cliente e il segreto dalla dashboard prima di seguire i passaggi menzionati. Una volta che hai il tuo ID e segreto, aggiungi il codice come mostrato di seguito:

// Questo esempio di codice mostra come aggiungere l'ID client e il segreto nel codice.
static $ClientId = '659fe7da-715b-4744-a0f7-cf469a392b73';
static $ClientSecret = 'b377c36cfa28fa69960ebac6b6e36421';

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

// Inizializzazione della configurazione
$configuration = new GroupDocs\Annotation\Configuration();

// Impostazione delle configurazioni
$configuration->setAppSid(self::$ClientId);
$configuration->setAppKey(self::$ClientSecret);
$configuration->setApiBaseUrl(self::$ApiBaseUrl);

Annota documenti PDF utilizzando un’API REST in PHP

Possiamo annotare documenti PDF sul cloud seguendo i semplici passaggi indicati di seguito:

  1. Carica il file PDF nel cloud
  2. Annota documento PDF
  3. Scarica il file annotato

Carica il documento

Innanzitutto, caricheremo il file PDF nel cloud utilizzando il seguente esempio di codice:

// Questo esempio di codice mostra come caricare un file PDF nel cloud.
// Inizializza un'istanza dell'API
$apiInstance = new GroupDocs\Annotation\FileApi($configuration);

// Percorso del file
$file = "C:\\Files\\Annotation\\sample.pdf";

// Crea richiesta di caricamento file
$request = new GroupDocs\Annotation\Model\Requests\UploadFileRequest("sample.pdf", $file, self::$MyStorage, null);

// Caricare un file
$response = $apiInstance->uploadFile($request);

Di conseguenza, il file PDF caricato sarà disponibile nella sezione file della dashboard sul cloud.

Annota il documento PDF usando PHP

Ora, aggiungeremo più annotazioni al documento PDF caricato in modo programmatico seguendo i passaggi indicati di seguito:

  • Innanzitutto, crea un’istanza di AnnotateApi.
  • Quindi, imposta le proprietà dell’annotazione, ad esempio posizione, tipo, testo, ecc.
  • Quindi, ripeti il passaggio precedente per aggiungere più annotazioni.
  • Successivamente, fornire il percorso del file di input.
  • Quindi, inizializza l’oggetto AnnotateOptions e imposta il percorso del file di output.
  • Successivamente, crea AnnotateRequest con AnnotateOptions come argomento.
  • Infine, annota il PDF utilizzando il metodo AnnotateApi.annotate().

L’esempio di codice seguente mostra come aggiungere più annotazioni a un documento PDF utilizzando un’API REST in PHP.

// Questo esempio di codice mostra come aggiungere più annotazioni al PDF.
// Inizializza l'istanza AnnotationAPI
$apiInstance = new GroupDocs\Annotation\AnnotareApi($configuration);

// Aggiungi l'annotazione della distanza
$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.");  

// Aggiungi annotazione area
$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.");   

// Aggiungi annotazione punto
$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.");  

// Aggiungi annotazione freccia
$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.");  

// Percorso del file di input
$fileInfo = new GroupDocs\Annotation\Model\FileInfo();
$fileInfo->setFilePath("sample.pdf");

// Definire le opzioni di annotazione
$options = new GroupDocs\Annotation\Model\AnnotareOptions();
$options->setFileInfo($fileInfo);
$options->setAnnotations([$a, $a1, $a2, $a3]);
$options->setOutputPath("MultipleAnnotation.pdf");

// Crea richiesta di annotazione
$request = new GroupDocs\Annotation\Model\Requests\annotateRequest($options);

// Annotare
$result = $apiInstance->annotate($request);
echo "AddMultipleAnnotations: Multiple Annotations added: " . $result->getHref();
Annota il documento PDF usando PHP

Annota il documento PDF usando PHP.

Puoi leggere ulteriori informazioni sui tipi di annotazione supportati nella sezione aggiunta di annotazioni nella documentazione.

Scarica il file annotato

L’esempio di codice precedente salverà il file PDF con annotazioni sul cloud. Può essere scaricato utilizzando il seguente esempio di codice:

// Questo esempio di codice mostra come scaricare un file PDF dal cloud.
// Inizializzazione di un'istanza dell'API
$apiInstance = new GroupDocs\Annotation\FileApi($configuration);

// Crea richiesta di download del file
$request = new GroupDocs\Annotation\Model\Requests\DownloadFileRequest("MultipleAnnotation.pdf", self::$MyStorage, null);

// Download file
$response = $apiInstance->downloadFile($request);

Possiamo anche aggiungere l’annotazione del collegamento ipertestuale nel documento PDF seguendo i passaggi indicati di seguito:

  • Innanzitutto, crea un’istanza di AnnotateApi.
  • Quindi, imposta le proprietà dell’annotazione, ad esempio posizione, testo, ecc.
  • Quindi, imposta il tipo di annotazione su Collegamento.
  • Successivamente, fornire il percorso del file di input.
  • Quindi, inizializza l’oggetto AnnotateOptions e imposta il percorso del file di output.
  • Successivamente, crea AnnotateRequest con AnnotateOptions come argomento.
  • Infine, annota il PDF utilizzando il metodo AnnotateApi.annotate().

L’esempio di codice seguente mostra come aggiungere l’annotazione del collegamento ipertestuale nel documento PDF utilizzando un’API REST. Si prega di seguire i passaggi menzionati in precedenza per caricare e scaricare un file.

// Questo esempio di codice mostra come aggiungere un'annotazione di collegamento al PDF
// Inizializza l'istanza AnnotationAPI
$apiInstance = new GroupDocs\Annotation\AnnotareApi($configuration);

// Aggiungi annotazione link
$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.");   

// Percorso del file di input
$fileInfo = new GroupDocs\Annotation\Model\FileInfo();
$fileInfo->setFilePath("sample.pdf");

// Definire le opzioni di annotazione
$options = new GroupDocs\Annotation\Model\AnnotareOptions();
$options->setFileInfo($fileInfo);
$options->setAnnotations([$a]);
$options->setOutputPath("AddLinkAnnotation.pdf");

// Crea richiesta di annotazione
$request = new GroupDocs\Annotation\Model\Requests\annotateRequest($options);

// Annotare
$result = $apiInstance->annotate($request);
echo "AddLinkAnnotation: Link Annotation added: " . $result->getHref();
Annota con le annotazioni di collegamento utilizzando PHP.

Annota con le annotazioni di collegamento utilizzando PHP.

Aggiungi l’annotazione dell’immagine utilizzando PHP

Possiamo aggiungere l’annotazione dell’immagine nel documento PDF seguendo i passaggi menzionati in precedenza. Tuttavia, dobbiamo solo impostare il tipo di annotazione su immagine come mostrato di seguito:

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

L’esempio di codice seguente mostra come aggiungere annotazioni immagine nel documento PDF utilizzando un’API REST in PHP. Si prega di seguire i passaggi menzionati in precedenza per caricare e scaricare un file.

// Questo esempio di codice mostra come aggiungere annotazioni immagine al PDF
// Inizializza l'istanza AnnotationAPI
$apiInstance = new GroupDocs\Annotation\AnnotareApi($configuration);

// Aggiungi annotazione immagine
$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.");   

// Percorso del file di input
$fileInfo = new GroupDocs\Annotation\Model\FileInfo();
$fileInfo->setFilePath("sample.pdf");

// Definire le opzioni di annotazione
$options = new GroupDocs\Annotation\Model\AnnotareOptions();
$options->setFileInfo($fileInfo);
$options->setAnnotations([$a]);
$options->setOutputPath("AddImageAnnotation.pdf");

// Crea richiesta di annotazione
$request = new GroupDocs\Annotation\Model\Requests\annotateRequest($options);

// Annotare
$result = $apiInstance->annotate($request);
echo "AddImageAnnotation: Image Annotation added: " . $result->getHref();
Aggiungi l'annotazione dell'immagine utilizzando PHP.

Aggiungi l’annotazione dell’immagine utilizzando PHP.

Aggiungi l’annotazione del campo di testo utilizzando PHP

Possiamo anche aggiungere l’annotazione del campo di testo nel documento PDF seguendo i passaggi menzionati in precedenza. Tuttavia, dobbiamo solo impostare il tipo di annotazione sul campo di testo come mostrato di seguito:

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

L’esempio di codice seguente mostra come aggiungere l’annotazione del campo di testo nel documento PDF utilizzando un’API REST. Si prega di seguire i passaggi menzionati in precedenza per caricare e scaricare un file.

// Questo esempio di codice mostra come aggiungere l'annotazione del campo di testo al PDF
// Inizializza l'istanza AnnotationAPI
$apiInstance = new GroupDocs\Annotation\AnnotareApi($configuration);

// Aggiungi annotazione 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.");   

// Percorso del file di input
$fileInfo = new GroupDocs\Annotation\Model\FileInfo();
$fileInfo->setFilePath("sample.pdf");

// Definire le opzioni di annotazione
$options = new GroupDocs\Annotation\Model\AnnotareOptions();
$options->setFileInfo($fileInfo);
$options->setAnnotations([$a]);
$options->setOutputPath("AddTextFieldAnnotation.pdf");

// Crea richiesta di annotazione
$request = new GroupDocs\Annotation\Model\Requests\annotateRequest($options);

// Annotare
$result = $apiInstance->annotate($request);
echo "AddTextFieldAnnotation: Text Field Annotation added: " . $result->getHref();
Aggiungi l'annotazione del campo di testo utilizzando PHP.

Aggiungi l’annotazione del campo di testo utilizzando PHP.

Prova in linea

Prova il seguente strumento di annotazione PDF online gratuito, sviluppato utilizzando l’API di cui sopra. https://products.groupdocs.app/annotation/pdf

Conclusione

In questo articolo abbiamo imparato a:

  • aggiungere più annotazioni a un PDF utilizzando PHP;
  • annotare il PDF con link, immagine e annotazione del campo di testo in PHP;
  • caricare in modo programmatico il file PDF nel cloud;
  • scarica il file PDF annotato dal cloud.

Inoltre, puoi saperne di più su GroupDocs.Annotation Cloud API utilizzando la documentazione. Forniamo anche una sezione Riferimento API che ti consente di visualizzare e interagire con le nostre API direttamente attraverso il browser. In caso di qualsiasi ambiguità, non esitate a contattarci sul forum.

Guarda anche