Genera codice QR per firmare PDF utilizzando l'API REST in PHP.

Il codice QR (codice di risposta rapida) è un tipo di codice a barre Matrix leggibile dalla macchina sotto forma di una matrice di quadrati bianchi e neri. È un’etichetta ottica che contiene informazioni leggibili tramite un lettore QR. Possiamo generare codici QR in modo programmatico e firmare i documenti e le immagini sul cloud. In questo articolo impareremo come generare un codice QR per firmare documenti PDF utilizzando l’API REST in PHP.

In questo articolo saranno trattati i seguenti argomenti:

API REST del generatore di codici QR e SDK PHP

Per generare codici QR per firmare documenti PDF, utilizzeremo l’API PHP SDK of GroupDocs.Signature Cloud. Consente di creare, verificare e cercare vari tipi di firme come immagini, codici a barre, QR-Code, firme basate su testo, digitali e timbri. Supporta i seguenti tipi di codice QR:

  • codice azteco
  • Codice DataMatrix
  • GS1 DataMatrix
  • GS1 QR
  • QR

Si prega di installarlo utilizzando il seguente comando nella console:

composer require groupdocscloud/groupdocs-signature-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 = '';

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

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

Genera codice QR per firmare PDF utilizzando l’API REST in PHP

Possiamo generare il codice QR per firmare i documenti PDF sul cloud seguendo i semplici passaggi indicati di seguito:

Carica il documento

Innanzitutto, caricheremo il documento PDF nel cloud utilizzando l’esempio di codice fornito di seguito:

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

// Percorso del file di input
$file = "C:\\Files\\Signature\\sample.pdf";

// Richiesta di caricamento del file
$request = new GroupDocs\Signature\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.

Genera codice QR per firmare PDF in PHP

Possiamo generare il codice QR in modo programmatico e firmare il documento PDF caricato seguendo i passaggi indicati di seguito:

  1. Innanzitutto, crea un’istanza di SignApi.
  2. Successivamente, fornire il percorso del file PDF di input.
  3. Quindi, imposta il percorso del file di output.
  4. Successivamente, inizializza l’oggetto SignQRCodeOptions.
  5. Quindi, imposta QRCodeType su “QR”. Inoltre, imposta il testo e la sua posizione.
  6. Facoltativamente, imposta opzioni come Pagina, Angolo di rotazione, Allineamento orizzontale, Bordo, Imbottitura ecc.
  7. Dopodiché, crea la createSignaturesRequest con le SignSettings definite.
  8. Infine, ottieni i risultati chiamando il metodo createSignatures().

L’esempio di codice seguente mostra come generare un codice QR e firmare il documento PDF utilizzando un’API REST in PHP.

// Questo esempio di codice mostra come generare un codice QR per firmare un documento PDF.
// Istanza SignatureAPI
$apiInstance = new GroupDocs\Signature\SignApi($configuration);

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

// Definisci impostazioni segno
$settings = new GroupDocs\Signature\Model\SignSettings();
$settings->setFileInfo($fileInfo);

// Definire SaveOptions
$saveOptions = new GroupDocs\Signature\Model\SaveOptions();
$saveOptions->setOutputFilePath("QR_out.pdf");
$settings->setSaveOptions($saveOptions);

// Definisci le opzioni Firma codice 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);

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

// Confine
$border = new GroupDocs\Signature\Model\ConfineLine();
$border->setColore($color);
$border->setVisible(true);
$border->setWeight(12);
$options->setConfine($border);

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

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

// Crea richiesta di firma
$request = new GroupDocs\Signature\Model\Requests\createSignaturesRequest($settings);

// Crea firme
$response = $apiInstance->createSignatures($request);

echo "Response: ", $response->getFileInfo();
Genera codice QR per firmare PDF utilizzando l'API REST in PHP.

Genera codice QR per firmare PDF utilizzando l’API REST in PHP.

Scarica il PDF Firmato con QR Code

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

// Questo esempio di codice mostra come scaricare un file PDF dal cloud.
// Inizializza l'API
$apiInstance = new GroupDocs\Signature\FileApi($configuration);

// Scarica la richiesta di file
$request = new GroupDocs\Signature\Model\Requests\DownloadFileRequest("Aztec_QR_out.pdf", self::$MyStorage, null);

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

Genera codice azteco per firmare PDF in PHP

Il codice azteco è il codice QR bidimensionale (2D) più facile da stampare e scansionare. Possiamo generare il codice azteco per firmare il documento PDF caricato seguendo i passaggi menzionati in precedenza. Tuttavia, dobbiamo solo impostare QRCodeType su “Aztec”.

L’esempio di codice seguente mostra come generare il codice azteco e firmare il documento PDF utilizzando un’API REST in PHP.

// Questo esempio di codice mostra come generare codice azteco in PHP.
// Istanza SignatureAPI
$apiInstance = new GroupDocs\Signature\SignApi($configuration);

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

// Definisci impostazioni segno
$settings = new GroupDocs\Signature\Model\SignSettings();
$settings->setFileInfo($fileInfo);

// Definire SaveOptions
$saveOptions = new GroupDocs\Signature\Model\SaveOptions();
$saveOptions->setOutputFilePath("QR_out.pdf");
$settings->setSaveOptions($saveOptions);

// Definisci le opzioni Firma codice 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);

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

// Confine
$border = new GroupDocs\Signature\Model\ConfineLine();
$border->setColore($color);
$border->setVisible(true);
$border->setWeight(12);
$options->setConfine($border);

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

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

// Crea richiesta di firma
$request = new GroupDocs\Signature\Model\Requests\createSignaturesRequest($settings);

// Crea firme
$response = $apiInstance->createSignatures($request);

echo "Response: ", $response->getFileInfo();
Genera codice QR azteco per firmare PDF in PHP.

Genera codice azteco per firmare PDF in PHP.

Crea codice DataMatrix per firmare PDF in PHP

Possiamo anche generare codice DataMatrix seguendo i passaggi menzionati in precedenza. Tuttavia, dobbiamo solo impostare QRCodeType su “DataMatrix”.

L’esempio di codice seguente mostra come generare il codice DataMatrix e firmare il documento PDF utilizzando un’API REST in PHP.

// Questo esempio di codice mostra come generare codice DataMatrix in PHP.
// Istanza SignatureAPI
$apiInstance = new GroupDocs\Signature\SignApi($configuration);

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

// Definisci impostazioni segno
$settings = new GroupDocs\Signature\Model\SignSettings();
$settings->setFileInfo($fileInfo);

// Definire SaveOptions
$saveOptions = new GroupDocs\Signature\Model\SaveOptions();
$saveOptions->setOutputFilePath("QR_out.pdf");
$settings->setSaveOptions($saveOptions);

// Definisci le opzioni Firma codice 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);

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

// Confine
$border = new GroupDocs\Signature\Model\ConfineLine();
$border->setColore($color);
$border->setVisible(true);
$border->setWeight(12);
$options->setConfine($border);

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

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

// Crea richiesta di firma
$request = new GroupDocs\Signature\Model\Requests\createSignaturesRequest($settings);

// Crea firme
$response = $apiInstance->createSignatures($request);

echo "Response: ", $response->getFileInfo();
Crea codice QR DataMatrix per firmare PDF in PHP.

Crea codice DataMatrix per firmare PDF in PHP.

Verifica le firme dei codici QR in PHP

Puoi facilmente verificare le firme del codice QR generate seguendo i passaggi indicati di seguito:

  1. Innanzitutto, crea un’istanza di SignApi.
  2. Imposta il percorso del file PDF.
  3. Definire VerifyQRCodeOptions.
  4. Fornisci il tipo di firma, il testo e il codice.
  5. Definire VerifySettings e assegnare VerifyQRCodeOptions a VerifySettings.
  6. Successivamente, crea VerifySignatureRequest con VerifySettings.
  7. Infine, ottieni i risultati chiamando il metodo verifySignatures().

L’esempio di codice seguente mostra come verificare le firme del codice QR utilizzando un’API REST in PHP.

// Questo esempio di codice mostra come verificare le firme del codice QR.
// Istanza SignatureAPI
$apiInstance = new GroupDocs\Signature\SignApi($configuration);

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

// Definire le impostazioni di verifica
$settings = new GroupDocs\Signature\Model\VerifySettings();
$settings->setFileInfo($fileInfo);

// Definisci le opzioni di verifica del codice 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]);

// Verifica richiesta firme
$request = new GroupDocs\Signature\Model\Requests\VerifySignaturesRequest($settings);

// Verifica le firme
$response = $apiInstance->verifySignatures($request);

echo "Response: ", $response;

Prova in linea

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

Conclusione

In questo articolo abbiamo imparato a:

  • generare codice QR in PHP;
  • firmare un documento PDF con codice QR in PHP;
  • verificare le firme elettroniche in PHP;
  • caricare in modo programmatico il file PDF nel cloud;
  • scarica il file PDF firmato dal cloud.

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

Guarda anche