Générez un code QR pour signer un PDF à l'aide de l'API REST en PHP.

Le code QR (code de réponse rapide) est un type de code-barres matriciel lisible par machine sous la forme d’un tableau de carrés noirs et blancs. Il s’agit d’une étiquette optique qui contient des informations lisibles à l’aide d’un lecteur QR. Nous pouvons générer des codes QR par programme et signer les documents et les images sur le cloud. Dans cet article, nous allons apprendre à générer un code QR pour signer des documents PDF à l’aide de l’API REST en PHP.

Les sujets suivants seront traités dans cet article :

API REST du générateur de code QR et SDK PHP

Pour générer des codes QR pour signer des documents PDF, nous utiliserons l’API PHP SDK of GroupDocs.Signature Cloud. Il permet de créer, de vérifier et de rechercher différents types de signatures telles que les signatures d’image, de code-barres, de code QR, de texte, numériques et de tampon. Il prend en charge les types de code QR suivants :

  • Code aztèque
  • Code DataMatrix
  • GS1 DataMatrix
  • QR GS1
  • QR

Veuillez l’installer à l’aide de la commande suivante dans la console :

composer require groupdocscloud/groupdocs-signature-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 votre ID client et votre secret dans le code.
static $ClientId = '659fe7da-715b-4744-a0f7-cf469a392b73';
static $ClientSecret = 'b377c36cfa28fa69960ebac6b6e36421';

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

// Initialiser la configuration
$configuration = new GroupDocs\Signature\Configuration();

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

Générer un code QR pour signer un PDF à l’aide de l’API REST en PHP

Nous pouvons générer le code QR pour signer les documents PDF sur le cloud en suivant les étapes simples mentionnées ci-dessous :

Télécharger le document

Tout d’abord, nous allons télécharger le document PDF sur le cloud à l’aide de l’exemple de code ci-dessous :

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

// Chemin du fichier d'entrée
$file = "C:\\Files\\Signature\\sample.pdf";

// Demande de téléchargement de fichier
$request = new GroupDocs\Signature\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 des fichiers du tableau de bord sur le cloud.

Générer un code QR pour signer un PDF en PHP

Nous pouvons générer un code QR par programmation et signer le document PDF téléchargé en suivant les étapes ci-dessous :

  1. Tout d’abord, créez une instance de SignApi.
  2. Ensuite, indiquez le chemin du fichier PDF d’entrée.
  3. Ensuite, définissez le chemin du fichier de sortie.
  4. Ensuite, initialisez l’objet SignQRCodeOptions.
  5. Ensuite, définissez le QRCodeType sur “QR”. De plus, définissez le texte et sa position.
  6. En option, définissez des options telles que Page, RotationAngle, HorizontalAlignment, Border, Padding, etc.
  7. Après cela, créez le createSignaturesRequest avec les SignSettings définis.
  8. Enfin, obtenez des résultats en appelant la méthode createSignatures().

L’exemple de code suivant montre comment générer un code QR et signer le document PDF à l’aide d’une API REST en PHP.

// Cet exemple de code montre comment générer un code QR pour signer un document PDF.
// Instance SignatureAPI
$apiInstance = new GroupDocs\Signature\SignApi($configuration);

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

// Définir SignSettings
$settings = new GroupDocs\Signature\Model\SignSettings();
$settings->setFileInfo($fileInfo);

// Définir les options de sauvegarde
$saveOptions = new GroupDocs\Signature\Model\SaveOptions();
$saveOptions->setOutputFilePath("QR_out.pdf");
$settings->setSaveOptions($saveOptions);

// Définir les options Signer le code QR
$options = new GroupDocs\Signature\Model\SignQRCodeOptions();
$options->setPage(1);
$options->setAllPages(false);        
$options->setSignatureType(GroupDocs\Signature\Model\OptionsBase::SIGNATURE_TYPE_QR_CODE);        
$options->setQRCodeType("QR");
$options->setText("This is sample QR.");
$options->setLeft(260);
$options->setTop(350);
$options->setWidth(100);
$options->setHeight(100);

// Couleur
$color = new GroupDocs\Signature\Model\Couleur();
$color->setWeb("Black");

// Frontière
$border = new GroupDocs\Signature\Model\FrontièreLine();
$border->setCouleur($color);
$border->setVisible(true);
$border->setWeight(12);
$options->setFrontière($border);

// Rembourrage
$padding = new GroupDocs\Signature\Model\Rembourrage();
$padding->setAll(5);
$options->setMargin($padding);
$options->setMarginMeasureType(GroupDocs\Signature\Model\SignTextOptions::MARGIN_MEASURE_TYPE_PIXELS);

$settings->setOptions([$options]);

// Créer une demande de signature
$request = new GroupDocs\Signature\Model\Requests\createSignaturesRequest($settings);

// Créer des signatures
$response = $apiInstance->createSignatures($request);

echo "Response: ", $response->getFileInfo();
Générez un code QR pour signer un PDF à l'aide de l'API REST en PHP.

Générez un code QR pour signer un PDF à l’aide de l’API REST en PHP.

Télécharger le PDF Signé avec QR Code

L’exemple de code ci-dessus enregistrera le fichier PDF signé 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.
// Initialiser l'API
$apiInstance = new GroupDocs\Signature\FileApi($configuration);

// Télécharger la demande de fichier
$request = new GroupDocs\Signature\Model\Requests\DownloadFileRequest("Aztec_QR_out.pdf", self::$MyStorage, null);

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

Générer du code aztèque pour signer un PDF en PHP

Le code Aztec est le code QR bidimensionnel (2D) le plus facile à imprimer et à scanner. Nous pouvons générer du code aztèque pour signer le document PDF téléchargé en suivant les étapes mentionnées précédemment. Cependant, nous avons juste besoin de définir le QRCodeType sur “Aztec”.

L’exemple de code suivant montre comment générer le code Aztec et signer le document PDF à l’aide d’une API REST en PHP.

// Cet exemple de code montre comment générer du code aztèque en PHP.
// Instance SignatureAPI
$apiInstance = new GroupDocs\Signature\SignApi($configuration);

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

// Définir SignSettings
$settings = new GroupDocs\Signature\Model\SignSettings();
$settings->setFileInfo($fileInfo);

// Définir les options de sauvegarde
$saveOptions = new GroupDocs\Signature\Model\SaveOptions();
$saveOptions->setOutputFilePath("QR_out.pdf");
$settings->setSaveOptions($saveOptions);

// Définir les options Signer le code QR
$options = new GroupDocs\Signature\Model\SignQRCodeOptions();
$options->setPage(1);
$options->setAllPages(false);        
$options->setSignatureType(GroupDocs\Signature\Model\OptionsBase::SIGNATURE_TYPE_QR_CODE);        
$options->setQRCodeType("Aztec");
$options->setText("This is a sample Aztec QR code.");
$options->setLeft(260);
$options->setTop(350);
$options->setWidth(100);
$options->setHeight(100);

// Couleur
$color = new GroupDocs\Signature\Model\Couleur();
$color->setWeb("Black");

// Frontière
$border = new GroupDocs\Signature\Model\FrontièreLine();
$border->setCouleur($color);
$border->setVisible(true);
$border->setWeight(12);
$options->setFrontière($border);

// Rembourrage
$padding = new GroupDocs\Signature\Model\Rembourrage();
$padding->setAll(2);
$options->setMargin($padding);
$options->setMarginMeasureType(GroupDocs\Signature\Model\SignTextOptions::MARGIN_MEASURE_TYPE_PIXELS);

$settings->setOptions([$options]);

// Créer une demande de signature
$request = new GroupDocs\Signature\Model\Requests\createSignaturesRequest($settings);

// Créer des signatures
$response = $apiInstance->createSignatures($request);

echo "Response: ", $response->getFileInfo();
Générer un code QR aztèque pour signer un PDF en PHP.

Générer du code aztèque pour signer un PDF en PHP.

Créer du code DataMatrix pour signer un PDF en PHP

Nous pouvons également générer du code DataMatrix en suivant les étapes mentionnées précédemment. Cependant, nous avons juste besoin de définir le QRCodeType sur “DataMatrix”.

L’exemple de code suivant montre comment générer le code DataMatrix et signer le document PDF à l’aide d’une API REST en PHP.

// Cet exemple de code montre comment générer du code DataMatrix en PHP.
// Instance SignatureAPI
$apiInstance = new GroupDocs\Signature\SignApi($configuration);

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

// Définir SignSettings
$settings = new GroupDocs\Signature\Model\SignSettings();
$settings->setFileInfo($fileInfo);

// Définir les options de sauvegarde
$saveOptions = new GroupDocs\Signature\Model\SaveOptions();
$saveOptions->setOutputFilePath("QR_out.pdf");
$settings->setSaveOptions($saveOptions);

// Définir les options Signer le code QR
$options = new GroupDocs\Signature\Model\SignQRCodeOptions();
$options->setPage(1);
$options->setAllPages(false);        
$options->setSignatureType(GroupDocs\Signature\Model\OptionsBase::SIGNATURE_TYPE_QR_CODE);        
$options->setQRCodeType("DataMatrix");
$options->setText("This is a sample DataMatrix QR code.");
$options->setLeft(260);
$options->setTop(350);
$options->setWidth(100);
$options->setHeight(100);

// Couleur
$color = new GroupDocs\Signature\Model\Couleur();
$color->setWeb("Black");

// Frontière
$border = new GroupDocs\Signature\Model\FrontièreLine();
$border->setCouleur($color);
$border->setVisible(true);
$border->setWeight(12);
$options->setFrontière($border);

// Rembourrage
$padding = new GroupDocs\Signature\Model\Rembourrage();
$padding->setAll(2);
$options->setMargin($padding);
$options->setMarginMeasureType(GroupDocs\Signature\Model\SignTextOptions::MARGIN_MEASURE_TYPE_PIXELS);

$settings->setOptions([$options]);

// Créer une demande de signature
$request = new GroupDocs\Signature\Model\Requests\createSignaturesRequest($settings);

// Créer des signatures
$response = $apiInstance->createSignatures($request);

echo "Response: ", $response->getFileInfo();
Créez un code QR DataMatrix pour signer un PDF en PHP.

Créez du code DataMatrix pour signer un PDF en PHP.

Vérifier les signatures de code QR en PHP

Vous pouvez facilement vérifier les signatures de code QR générées en suivant les étapes ci-dessous :

  1. Tout d’abord, créez une instance de SignApi.
  2. Définissez le chemin du fichier PDF.
  3. Définissez VerifyQRCodeOptions.
  4. Indiquez le type de signature, le texte et le code.
  5. Définissez VerifySettings et affectez VerifyQRCodeOptions à VerifySettings.
  6. Après cela, créez le VerifySignatureRequest avec VerifySettings.
  7. Enfin, obtenez des résultats en appelant la méthode verifySignatures().

L’exemple de code suivant montre comment vérifier les signatures de code QR à l’aide d’une API REST en PHP.

// Cet exemple de code montre comment vérifier les signatures de code QR.
// Instance SignatureAPI
$apiInstance = new GroupDocs\Signature\SignApi($configuration);

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

// Définir les paramètres de vérification
$settings = new GroupDocs\Signature\Model\VerifySettings();
$settings->setFileInfo($fileInfo);

// Définir les options de vérification du code QR
$options = new GroupDocs\Signature\Model\VerifyQRCodeOptions();
$options->setPage(1);
$options->setAllPages(false);        
$options->setSignatureType(GroupDocs\Signature\Model\OptionsBase::SIGNATURE_TYPE_QR_CODE);        
$options->setQRCodeType("QR");
$options->setText("This is sample QR.");

$settings->setOptions([$options]);

// Vérifier la demande de signatures
$request = new GroupDocs\Signature\Model\Requests\VerifySignaturesRequest($settings);

// Vérifier les signatures
$response = $apiInstance->verifySignatures($request);

echo "Response: ", $response;

Essayez en ligne

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

Conclusion

Dans cet article, nous avons appris à :

  • générer un code QR en PHP ;
  • signer un document PDF avec un code QR en PHP ;
  • vérifier les signatures électroniques en PHP ;
  • télécharger par programmation le fichier PDF dans le cloud ;
  • télécharger le fichier PDF signé depuis le cloud.

En outre, vous pouvez en savoir plus sur l’API GroupDocs.Signature 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