Annoter des documents PDF à l'aide de l'API REST en PHP

Les annotations fournissent des informations supplémentaires sur une partie spécifique du document. Nous pouvons marquer les documents avec des commentaires et des critiques à l’aide d’annotations. Nous pouvons ajouter des images, des commentaires, des notes ou d’autres types de remarques externes aux documents PDF sous forme d’annotations. Dans cet article, nous allons apprendre à annoter des documents PDF à l’aide d’une API REST en PHP.

Les sujets suivants seront traités dans cet article :

API REST d’annotation PDF et SDK PHP

Pour annoter des documents PDF, nous utiliserons l’API PHP SDK of GroupDocs.Annotation Cloud. Il permet d’ajouter des annotations, des superpositions de filigranes, des remplacements de texte, des caviardages et des balises de texte aux formats de document pris en charge. Veuillez l’installer à l’aide de la commande suivante dans la console :

composer require groupdocscloud/groupdocs-annotation-cloud

Après l’installation, veuillez utiliser autoload des compositeurs pour utiliser le SDK comme indiqué ci-dessous :

require_once('vendor/autoload.php');

Veuillez obtenir votre ID client et votre secret à partir du tableau de bord avant de suivre les étapes mentionnées. Une fois que vous avez votre identifiant et votre secret, ajoutez le code comme indiqué ci-dessous :

// Cet exemple de code montre comment ajouter un ID client et un secret dans le code.
static $ClientId = '659fe7da-715b-4744-a0f7-cf469a392b73';
static $ClientSecret = 'b377c36cfa28fa69960ebac6b6e36421';

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

// Initialisation de la configuration
$configuration = new GroupDocs\Annotation\Configuration();

// Réglage des configurations
$configuration->setAppSid(self::$ClientId);
$configuration->setAppKey(self::$ClientSecret);
$configuration->setApiBaseUrl(self::$ApiBaseUrl);

Annoter des documents PDF à l’aide d’une API REST en PHP

Nous pouvons annoter des documents PDF sur le cloud en suivant les étapes simples ci-dessous :

  1. Téléchargez le fichier PDF dans le cloud
  2. Annoter le document PDF
  3. Télécharger le fichier annoté

Télécharger le document

Tout d’abord, nous allons télécharger le fichier PDF dans le cloud à l’aide de l’exemple de code suivant :

// Cet exemple de code montre comment charger un fichier PDF dans le cloud.
// Initialiser une instance de l'API
$apiInstance = new GroupDocs\Annotation\FileApi($configuration);

// Chemin du fichier
$file = "C:\\Files\\Annotation\\sample.pdf";

// Créer une demande de téléchargement de fichier
$request = new GroupDocs\Annotation\Model\Requests\UploadFileRequest("sample.pdf", $file, self::$MyStorage, null);

// Téléverser un fichier
$response = $apiInstance->uploadFile($request);

Par conséquent, le fichier PDF téléchargé sera disponible dans la section fichiers du tableau de bord sur le cloud.

Annoter un document PDF avec PHP

Nous allons maintenant ajouter plusieurs annotations au document PDF téléchargé par programmation en suivant les étapes ci-dessous :

  • Tout d’abord, créez une instance de AnnotateApi.
  • Ensuite, définissez les propriétés d’annotation, par exemple la position, le type, le texte, etc.
  • Ensuite, répétez l’étape ci-dessus pour ajouter plusieurs annotations.
  • Ensuite, indiquez le chemin du fichier d’entrée.
  • Ensuite, initialisez l’objet AnnotateOptions et définissez le chemin du fichier de sortie.
  • Après cela, créez AnnotateRequest avec AnnotateOptions comme argument.
  • Enfin, annotez le PDF à l’aide de la méthode AnnotateApi.annotate().

L’exemple de code suivant montre comment ajouter plusieurs annotations à un document PDF à l’aide d’une API REST en PHP.

// Cet exemple de code montre comment ajouter plusieurs annotations au PDF.
// Initialiser l'instance AnnotationAPI
$apiInstance = new GroupDocs\Annotation\AnnoterApi($configuration);

// Ajouter une annotation de distance
$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.");  

// Ajouter une annotation de zone
$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.");   

// Ajouter une annotation de point
$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.");  

// Ajouter une annotation de flèche
$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.");  

// Chemin du fichier d'entrée
$fileInfo = new GroupDocs\Annotation\Model\FileInfo();
$fileInfo->setFilePath("sample.pdf");

// Définir les options d'annotation
$options = new GroupDocs\Annotation\Model\AnnoterOptions();
$options->setFileInfo($fileInfo);
$options->setAnnotations([$a, $a1, $a2, $a3]);
$options->setOutputPath("MultipleAnnotation.pdf");

// Créer une demande d'annotation
$request = new GroupDocs\Annotation\Model\Requests\annotateRequest($options);

// Annoter
$result = $apiInstance->annotate($request);
echo "AddMultipleAnnotations: Multiple Annotations added: " . $result->getHref();
Annoter un document PDF avec PHP

Annotez un document PDF en utilisant PHP.

Vous pouvez en savoir plus sur les types d’annotations pris en charge dans la section ajout d’annotations de la documentation.

Télécharger le fichier annoté

L’exemple de code ci-dessus enregistrera le fichier PDF annoté sur le cloud. Il peut être téléchargé à l’aide de l’exemple de code suivant :

// Cet exemple de code montre comment télécharger un fichier PDF à partir du cloud.
// Initialisation d'une instance de l'API
$apiInstance = new GroupDocs\Annotation\FileApi($configuration);

// Créer une demande de fichier de téléchargement
$request = new GroupDocs\Annotation\Model\Requests\DownloadFileRequest("MultipleAnnotation.pdf", self::$MyStorage, null);

// Télécharger un fichier
$response = $apiInstance->downloadFile($request);

Nous pouvons également ajouter une annotation de lien hypertexte dans le document PDF en suivant les étapes ci-dessous :

  • Tout d’abord, créez une instance de AnnotateApi.
  • Ensuite, définissez les propriétés d’annotation, par exemple la position, le texte, etc.
  • Ensuite, définissez le type d’annotation sur Lien.
  • Ensuite, indiquez le chemin du fichier d’entrée.
  • Ensuite, initialisez l’objet AnnotateOptions et définissez le chemin du fichier de sortie.
  • Après cela, créez AnnotateRequest avec AnnotateOptions comme argument.
  • Enfin, annotez le PDF à l’aide de la méthode AnnotateApi.annotate().

L’exemple de code suivant montre comment ajouter une annotation de lien hypertexte dans le document PDF à l’aide d’une API REST. Veuillez suivre les étapes mentionnées précédemment pour charger et télécharger un fichier.

// Cet exemple de code montre comment ajouter une annotation de lien au PDF
// Initialiser l'instance AnnotationAPI
$apiInstance = new GroupDocs\Annotation\AnnoterApi($configuration);

// Ajouter une annotation de lien
$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.");   

// Chemin du fichier d'entrée
$fileInfo = new GroupDocs\Annotation\Model\FileInfo();
$fileInfo->setFilePath("sample.pdf");

// Définir les options d'annotation
$options = new GroupDocs\Annotation\Model\AnnoterOptions();
$options->setFileInfo($fileInfo);
$options->setAnnotations([$a]);
$options->setOutputPath("AddLinkAnnotation.pdf");

// Créer une demande d'annotation
$request = new GroupDocs\Annotation\Model\Requests\annotateRequest($options);

// Annoter
$result = $apiInstance->annotate($request);
echo "AddLinkAnnotation: Link Annotation added: " . $result->getHref();
Annotez avec des annotations de lien en utilisant PHP.

Annotez avec des annotations de lien en utilisant PHP.

Ajouter une annotation d’image à l’aide de PHP

Nous pouvons ajouter une annotation d’image dans le document PDF en suivant les étapes mentionnées précédemment. Cependant, nous avons juste besoin de définir le type d’annotation sur image comme indiqué ci-dessous :

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

L’exemple de code suivant montre comment ajouter une annotation d’image dans le document PDF à l’aide d’une API REST en PHP. Veuillez suivre les étapes mentionnées précédemment pour charger et télécharger un fichier.

// Cet exemple de code montre comment ajouter une annotation d'image au PDF
// Initialiser l'instance AnnotationAPI
$apiInstance = new GroupDocs\Annotation\AnnoterApi($configuration);

// Ajouter une annotation d'image
$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.");   

// Chemin du fichier d'entrée
$fileInfo = new GroupDocs\Annotation\Model\FileInfo();
$fileInfo->setFilePath("sample.pdf");

// Définir les options d'annotation
$options = new GroupDocs\Annotation\Model\AnnoterOptions();
$options->setFileInfo($fileInfo);
$options->setAnnotations([$a]);
$options->setOutputPath("AddImageAnnotation.pdf");

// Créer une demande d'annotation
$request = new GroupDocs\Annotation\Model\Requests\annotateRequest($options);

// Annoter
$result = $apiInstance->annotate($request);
echo "AddImageAnnotation: Image Annotation added: " . $result->getHref();
Ajouter une annotation d'image à l'aide de PHP.

Ajoutez une annotation d’image à l’aide de PHP.

Ajouter une annotation de champ de texte à l’aide de PHP

Nous pouvons également ajouter une annotation de champ de texte dans le document PDF en suivant les étapes mentionnées précédemment. Cependant, nous avons juste besoin de définir le type d’annotation sur le champ de texte comme indiqué ci-dessous :

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

L’exemple de code suivant montre comment ajouter une annotation de champ de texte dans le document PDF à l’aide d’une API REST. Veuillez suivre les étapes mentionnées précédemment pour charger et télécharger un fichier.

// Cet exemple de code montre comment ajouter une annotation de champ de texte au PDF
// Initialiser l'instance AnnotationAPI
$apiInstance = new GroupDocs\Annotation\AnnoterApi($configuration);

// Ajouter une annotation 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.");   

// Chemin du fichier d'entrée
$fileInfo = new GroupDocs\Annotation\Model\FileInfo();
$fileInfo->setFilePath("sample.pdf");

// Définir les options d'annotation
$options = new GroupDocs\Annotation\Model\AnnoterOptions();
$options->setFileInfo($fileInfo);
$options->setAnnotations([$a]);
$options->setOutputPath("AddTextFieldAnnotation.pdf");

// Créer une demande d'annotation
$request = new GroupDocs\Annotation\Model\Requests\annotateRequest($options);

// Annoter
$result = $apiInstance->annotate($request);
echo "AddTextFieldAnnotation: Text Field Annotation added: " . $result->getHref();
Ajouter une annotation de champ de texte à l'aide de PHP.

Ajouter une annotation de champ de texte à l’aide de PHP.

Essayez en ligne

Veuillez essayer l’outil d’annotation PDF en ligne gratuit suivant, qui est développé à l’aide de l’API ci-dessus. https://products.groupdocs.app/annotation/pdf

Conclusion

Dans cet article, nous avons appris à :

  • ajouter plusieurs annotations à un PDF en utilisant PHP ;
  • annoter un PDF avec des annotations de liens, d’images et de champs de texte en PHP ;
  • télécharger par programmation le fichier PDF dans le cloud ;
  • téléchargez le fichier PDF annoté depuis le cloud.

En outre, vous pouvez en savoir plus sur l’API GroupDocs.Annotation Cloud à l’aide de la documentation. Nous fournissons également une section API Reference qui vous permet de visualiser et d’interagir avec nos API directement via le navigateur. En cas d’ambiguïté, n’hésitez pas à nous contacter sur le forum.

Voir également