
QR Code (código de resposta rápida) é um tipo de código de barras Matrix legível por máquina na forma de uma matriz de quadrados pretos e brancos. É uma etiqueta óptica que contém informações legíveis usando um leitor de QR. Podemos gerar códigos QR programaticamente e assinar os documentos e imagens na nuvem. Neste artigo, aprenderemos como gerar um código QR para assinar documentos PDF usando a API REST em PHP.
Os seguintes tópicos serão abordados neste artigo:
- API REST do gerador de código QR e PHP SDK
- Gerar código QR para assinar PDF em PHP
- Gerar código QR Aztec para assinar PDF em PHP
- Criar código QR DataMatrix para assinar PDF em PHP
- Verificar assinaturas de código QR em PHP
API REST do gerador de código QR e PHP SDK
Para gerar códigos QR para assinar documentos PDF, usaremos a API PHP SDK of GroupDocs.Signature Cloud. Ele permite criar, verificar e pesquisar vários tipos de assinaturas, como imagem, código de barras, QR-Code, assinaturas de texto, digitais e de carimbo. Ele suporta os seguintes tipos de código QR:
- código asteca
- Código DataMatrix
- GS1 DataMatrix
- GS1 QR
- QR
Instale-o usando o seguinte comando no console:
composer require groupdocscloud/groupdocs-signature-cloud
Após a instalação, use o autoload dos compositores para usar o SDK conforme mostrado abaixo:
require_once('vendor/autoload.php');
Por favor, obtenha seu ID e Segredo do cliente no painel antes de seguir as etapas mencionadas. Depois de ter seu ID e segredo, adicione o código conforme mostrado abaixo:
// Este exemplo de código demonstra como adicionar seu ID de cliente e segredo no código.
static $ClientId = '659fe7da-715b-4744-a0f7-cf469a392b73';
static $ClientSecret = 'b377c36cfa28fa69960ebac6b6e36421';
static $ApiBaseUrl = 'https://api.groupdocs.cloud';
static $MyStorage = '';
// Inicializar a configuração
$configuration = new GroupDocs\Signature\Configuration();
// Definindo as configurações
$configuration->setAppSid(self::$ClientId);
$configuration->setAppKey(self::$ClientSecret);
$configuration->setApiBaseUrl(self::$ApiBaseUrl);
Gere QR Code para assinar PDF usando REST API em PHP
Podemos gerar o código QR para assinar os documentos PDF na nuvem seguindo os passos simples mencionados abaixo:
- Upload o PDF para a nuvem
- Gerar código QR para assinar PDF
- Baixar o arquivo assinado
Carregue o Documento
Em primeiro lugar, faremos o upload do documento PDF para a nuvem usando o exemplo de código fornecido abaixo:
// Este exemplo de código demonstra como carregar um arquivo PDF para a nuvem.
// Inicializar a API
$apiInstance = new GroupDocs\Signature\FileApi($configuration);
// Caminho do arquivo de entrada
$file = "C:\\Files\\Signature\\sample.pdf";
// Solicitação de upload de arquivo
$request = new GroupDocs\Signature\Model\Requests\UploadFileRequest("sample.pdf", $file, self::$MyStorage, null);
// Subir arquivo
$response = $apiInstance->uploadFile($request);
Como resultado, o arquivo PDF carregado estará disponível na seção de arquivos do painel na nuvem.
Gerar código QR para assinar PDF em PHP
Podemos gerar o código QR programaticamente e assinar o documento PDF carregado seguindo as etapas abaixo:
- Em primeiro lugar, crie uma instância do SignApi.
- Em seguida, forneça o caminho do arquivo PDF de entrada.
- Em seguida, defina o caminho do arquivo de saída.
- Em seguida, inicialize o objeto SignQRCodeOptions.
- Em seguida, defina o QRCodeType como “QR”. Além disso, defina o texto e sua posição.
- Opcionalmente, defina opções como Page, RotationAngle, HorizontalAlignment, Border, Padding etc.
- Depois disso, crie o createSignaturesRequest com o SignSettings definido.
- Por fim, obtenha os resultados chamando o método createSignatures().
O exemplo de código a seguir mostra como gerar um código QR e assinar o documento PDF usando uma API REST em PHP.
// Este exemplo de código demonstra como gerar o código QR para assinar o documento PDF.
// instância SignatureAPI
$apiInstance = new GroupDocs\Signature\SignApi($configuration);
// Caminho do arquivo de entrada
$fileInfo = new GroupDocs\Signature\Model\FileInfo();
$fileInfo->setFilePath("sample.pdf");
// Definir SignSettings
$settings = new GroupDocs\Signature\Model\SignSettings();
$settings->setFileInfo($fileInfo);
// Definir opções de salvamento
$saveOptions = new GroupDocs\Signature\Model\SaveOptions();
$saveOptions->setOutputFilePath("QR_out.pdf");
$settings->setSaveOptions($saveOptions);
// Definir opções de código QR de assinatura
$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);
// Cor
$color = new GroupDocs\Signature\Model\Cor();
$color->setWeb("Black");
// Fronteira
$border = new GroupDocs\Signature\Model\FronteiraLine();
$border->setCor($color);
$border->setVisible(true);
$border->setWeight(12);
$options->setFronteira($border);
// Preenchimento
$padding = new GroupDocs\Signature\Model\Preenchimento();
$padding->setAll(5);
$options->setMargin($padding);
$options->setMarginMeasureType(GroupDocs\Signature\Model\SignTextOptions::MARGIN_MEASURE_TYPE_PIXELS);
$settings->setOptions([$options]);
// Criar solicitação de assinatura
$request = new GroupDocs\Signature\Model\Requests\createSignaturesRequest($settings);
// Criar assinaturas
$response = $apiInstance->createSignatures($request);
echo "Response: ", $response->getFileInfo();

Gere QR Code para assinar PDF usando API REST em PHP.
Baixe o PDF Assinado com QR Code
O exemplo de código acima salvará o arquivo PDF assinado na nuvem. Ele pode ser baixado usando o seguinte exemplo de código:
// Este exemplo de código demonstra como baixar um arquivo PDF da nuvem.
// Inicializar a API
$apiInstance = new GroupDocs\Signature\FileApi($configuration);
// Solicitação de download de arquivo
$request = new GroupDocs\Signature\Model\Requests\DownloadFileRequest("Aztec_QR_out.pdf", self::$MyStorage, null);
// ⇬ Fazer download do arquivo
$response = $apiInstance->downloadFile($request);
Gerar código asteca para assinar PDF em PHP
O código Aztec é o código QR bidimensional (2D) mais fácil de imprimir e digitalizar. Podemos gerar o código asteca para assinar o documento PDF carregado seguindo as etapas mencionadas anteriormente. No entanto, só precisamos definir o QRCodeType como “Aztec”.
O exemplo de código a seguir mostra como gerar o código Aztec e assinar o documento PDF usando uma API REST em PHP.
// Este exemplo de código demonstra como gerar código Aztec em PHP.
// instância SignatureAPI
$apiInstance = new GroupDocs\Signature\SignApi($configuration);
// Caminho do arquivo de entrada
$fileInfo = new GroupDocs\Signature\Model\FileInfo();
$fileInfo->setFilePath("sample.pdf");
// Definir SignSettings
$settings = new GroupDocs\Signature\Model\SignSettings();
$settings->setFileInfo($fileInfo);
// Definir opções de salvamento
$saveOptions = new GroupDocs\Signature\Model\SaveOptions();
$saveOptions->setOutputFilePath("QR_out.pdf");
$settings->setSaveOptions($saveOptions);
// Definir opções de código QR de assinatura
$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);
// Cor
$color = new GroupDocs\Signature\Model\Cor();
$color->setWeb("Black");
// Fronteira
$border = new GroupDocs\Signature\Model\FronteiraLine();
$border->setCor($color);
$border->setVisible(true);
$border->setWeight(12);
$options->setFronteira($border);
// Preenchimento
$padding = new GroupDocs\Signature\Model\Preenchimento();
$padding->setAll(2);
$options->setMargin($padding);
$options->setMarginMeasureType(GroupDocs\Signature\Model\SignTextOptions::MARGIN_MEASURE_TYPE_PIXELS);
$settings->setOptions([$options]);
// Criar solicitação de assinatura
$request = new GroupDocs\Signature\Model\Requests\createSignaturesRequest($settings);
// Criar assinaturas
$response = $apiInstance->createSignatures($request);
echo "Response: ", $response->getFileInfo();

Gerar código Aztec para assinar PDF em PHP.
Criar código DataMatrix para assinar PDF em PHP
Também podemos gerar código DataMatrix seguindo as etapas mencionadas anteriormente. No entanto, só precisamos definir o QRCodeType como “DataMatrix”.
A amostra de código a seguir mostra como gerar o código DataMatrix e assinar o documento PDF usando uma API REST em PHP.
// Este exemplo de código demonstra como gerar código DataMatrix em PHP.
// instância SignatureAPI
$apiInstance = new GroupDocs\Signature\SignApi($configuration);
// Caminho do arquivo de entrada
$fileInfo = new GroupDocs\Signature\Model\FileInfo();
$fileInfo->setFilePath("sample.pdf");
// Definir SignSettings
$settings = new GroupDocs\Signature\Model\SignSettings();
$settings->setFileInfo($fileInfo);
// Definir opções de salvamento
$saveOptions = new GroupDocs\Signature\Model\SaveOptions();
$saveOptions->setOutputFilePath("QR_out.pdf");
$settings->setSaveOptions($saveOptions);
// Definir opções de código QR de assinatura
$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);
// Cor
$color = new GroupDocs\Signature\Model\Cor();
$color->setWeb("Black");
// Fronteira
$border = new GroupDocs\Signature\Model\FronteiraLine();
$border->setCor($color);
$border->setVisible(true);
$border->setWeight(12);
$options->setFronteira($border);
// Preenchimento
$padding = new GroupDocs\Signature\Model\Preenchimento();
$padding->setAll(2);
$options->setMargin($padding);
$options->setMarginMeasureType(GroupDocs\Signature\Model\SignTextOptions::MARGIN_MEASURE_TYPE_PIXELS);
$settings->setOptions([$options]);
// Criar solicitação de assinatura
$request = new GroupDocs\Signature\Model\Requests\createSignaturesRequest($settings);
// Criar assinaturas
$response = $apiInstance->createSignatures($request);
echo "Response: ", $response->getFileInfo();

Criar código DataMatrix para assinar PDF em PHP.
Verificar assinaturas de código QR em PHP
Você pode verificar facilmente as assinaturas de código QR geradas seguindo as etapas abaixo:
- Em primeiro lugar, crie uma instância do SignApi.
- Defina o caminho do arquivo PDF.
- Defina VerifyQRCodeOptions.
- Forneça o tipo de assinatura, o texto e o código.
- Defina VerifySettings e atribua VerifyQRCodeOptions a VerifySettings.
- Depois disso, crie o VerifySignatureRequest com VerifySettings.
- Por fim, obtenha os resultados chamando o método verifySignatures().
A amostra de código a seguir mostra como verificar as assinaturas de código QR usando uma API REST em PHP.
// Este exemplo de código demonstra como verificar as assinaturas de código QR.
// instância SignatureAPI
$apiInstance = new GroupDocs\Signature\SignApi($configuration);
// Caminho do arquivo de entrada
$fileInfo = new GroupDocs\Signature\Model\FileInfo();
$fileInfo->setFilePath("QR_out.pdf");
// Definir configurações de verificação
$settings = new GroupDocs\Signature\Model\VerifySettings();
$settings->setFileInfo($fileInfo);
// Definir opções de verificação de código 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]);
// Verificar solicitação de assinaturas
$request = new GroupDocs\Signature\Model\Requests\VerifySignaturesRequest($settings);
// Verificar assinaturas
$response = $apiInstance->verifySignatures($request);
echo "Response: ", $response;
Experimente on-line
Experimente a seguinte ferramenta de assinatura de PDF on-line gratuita, desenvolvida usando a API acima. https://products.groupdocs.app/signature/pdf
Conclusão
Neste artigo, aprendemos como:
- gerar código QR em PHP;
- assinar documento PDF com código QR em PHP;
- verificar assinaturas eletrônicas em PHP;
- carregar programaticamente o arquivo PDF para a nuvem;
- baixe o arquivo PDF assinado da nuvem.
Além disso, você pode aprender mais sobre GroupDocs.Signature Cloud API usando a documentação. Também fornecemos uma seção Referência de API que permite visualizar e interagir com nossas APIs diretamente pelo navegador. Em caso de ambiguidade, sinta-se à vontade para nos contatar no fórum.