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
- Genera codice QR per firmare PDF in PHP
- Genera codice QR azteco per firmare PDF in PHP
- Crea codice QR DataMatrix per firmare PDF in PHP
- Verifica le firme dei codici QR in PHP
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 PDF nel cloud
- Genera codice QR per firmare PDF
- Scarica il file firmato
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:
- Innanzitutto, crea un’istanza di SignApi.
- Successivamente, fornire il percorso del file PDF di input.
- Quindi, imposta il percorso del file di output.
- Successivamente, inizializza l’oggetto SignQRCodeOptions.
- Quindi, imposta QRCodeType su “QR”. Inoltre, imposta il testo e la sua posizione.
- Facoltativamente, imposta opzioni come Pagina, Angolo di rotazione, Allineamento orizzontale, Bordo, Imbottitura ecc.
- Dopodiché, crea la createSignaturesRequest con le SignSettings definite.
- 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();
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();
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();
Verifica le firme dei codici QR in PHP
Puoi facilmente verificare le firme del codice QR generate seguendo i passaggi indicati di seguito:
- Innanzitutto, crea un’istanza di SignApi.
- Imposta il percorso del file PDF.
- Definire VerifyQRCodeOptions.
- Fornisci il tipo di firma, il testo e il codice.
- Definire VerifySettings e assegnare VerifyQRCodeOptions a VerifySettings.
- Successivamente, crea VerifySignatureRequest con VerifySettings.
- 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.