PHP'de REST API kullanarak PDF İmzalamak için QR Kodu oluşturun.

QR Kodu (Hızlı Yanıt kodu), siyah beyaz kareler dizisi biçiminde, makine tarafından okunabilen bir Matrix barkod türüdür. QR okuyucu kullanılarak okunabilen bilgileri içeren optik bir etikettir. QR kodlarını programlı olarak üretebilir ve belgeleri ve görüntüleri bulutta imzalayabiliriz. Bu yazıda, PHP’de REST API kullanarak PDF belgelerini imzalamak için bir QR kodu oluşturmayı öğreneceğiz.

Bu yazıda aşağıdaki konular ele alınacaktır:

QR Code Generator REST API ve PHP SDK

PDF belgelerini imzalamak üzere QR kodları oluşturmak için GroupDocs.Signature Cloud’un PHP SDK API’sini kullanacağız. Görüntü, ‎barkod, QR-Kodu, metin tabanlı, dijital ve damga imzaları gibi çeşitli imza türlerinin oluşturulmasına, doğrulanmasına ve aranmasına olanak tanır. Aşağıdaki QR kodu türlerini destekler:

  • Aztek Kodu
  • DataMatrix Kodu
  • GS1 Veri Matrisi
  • GS1 QR
  • QR

Lütfen konsolda aşağıdaki komutu kullanarak kurun:

composer require groupdocscloud/groupdocs-signature-cloud

Kurulumdan sonra, SDK’yı aşağıda gösterildiği gibi kullanmak için lütfen Bestecilerin autoload aracını kullanın:

require_once('vendor/autoload.php');

Lütfen belirtilen adımları uygulamadan önce panodan Müşteri Kimliğinizi ve Sırrınızı alın. Kimliğinizi ve sırrınızı aldıktan sonra, kodu aşağıda gösterildiği gibi ekleyin:

// Bu kod örneği, müşteri kimliğinizi ve sırrınızı koda nasıl ekleyeceğinizi gösterir.
static $ClientId = '659fe7da-715b-4744-a0f7-cf469a392b73';
static $ClientSecret = 'b377c36cfa28fa69960ebac6b6e36421';

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

// Yapılandırmayı başlat
$configuration = new GroupDocs\Signature\Configuration();

// Yapılandırmaları ayarlama
$configuration->setAppSid(self::$ClientId);
$configuration->setAppKey(self::$ClientSecret);
$configuration->setApiBaseUrl(self::$ApiBaseUrl);

PHP’de REST API kullanarak PDF İmzalamak için QR Kodu Oluşturun

Aşağıda belirtilen basit adımları izleyerek PDF belgelerini bulutta imzalamak için QR kodunu oluşturabiliriz:

Belgeyi Yükle

Öncelikle, aşağıda verilen kod örneğini kullanarak PDF belgesini buluta yükleyeceğiz:

// Bu kod örneği, bir PDF dosyasının buluta nasıl yükleneceğini gösterir.
// api'yi başlat
$apiInstance = new GroupDocs\Signature\FileApi($configuration);

// Giriş dosyası yolu
$file = "C:\\Files\\Signature\\sample.pdf";

// Dosya isteği yükle
$request = new GroupDocs\Signature\Model\Requests\UploadFileRequest("sample.pdf", $file, self::$MyStorage, null);

// Dosya yükleme
$response = $apiInstance->uploadFile($request);

Sonuç olarak, yüklenen PDF dosyası bulut üzerindeki kontrol panelinin dosyalar bölümünde mevcut olacaktır.

PHP’de PDF İmzalamak için QR Kodu Oluşturun

Programlı olarak QR kodu oluşturabilir ve yüklenen PDF belgesini aşağıdaki adımları izleyerek imzalayabiliriz:

  1. Öncelikle SignApi’nin bir örneğini oluşturun.
  2. Ardından, giriş PDF dosyası yolunu sağlayın.
  3. Ardından, çıktı dosyası yolunu ayarlayın.
  4. Ardından, SignQRCodeOptions nesnesini başlatın.
  5. Ardından, QRCodeType’ı “QR” olarak ayarlayın. Ayrıca, metni ve konumunu ayarlayın.
  6. İsteğe bağlı olarak Sayfa, Döndürme Açısı, Yatay Hizalama, Kenarlık, Dolgu vb. seçenekleri ayarlayın.
  7. Bundan sonra, tanımlanmış SignSettings ile createSignaturesRequest’i oluşturun.
  8. Son olarak, createSignatures() yöntemini çağırarak sonuçları alın.

Aşağıdaki kod örneği, PHP’de bir REST API kullanarak bir QR kodunun nasıl oluşturulacağını ve PDF belgesinin nasıl imzalanacağını gösterir.

// Bu kod örneği, PDF belgesini imzalamak için QR kodunun nasıl oluşturulacağını gösterir.
// SignatureAPI örneği
$apiInstance = new GroupDocs\Signature\SignApi($configuration);

// Giriş dosyası yolu
$fileInfo = new GroupDocs\Signature\Model\FileInfo();
$fileInfo->setFilePath("sample.pdf");

// SignSettings'i tanımlayın
$settings = new GroupDocs\Signature\Model\SignSettings();
$settings->setFileInfo($fileInfo);

// SaveOptions'ı tanımlayın
$saveOptions = new GroupDocs\Signature\Model\SaveOptions();
$saveOptions->setOutputFilePath("QR_out.pdf");
$settings->setSaveOptions($saveOptions);

// Sign QR kodu seçeneklerini tanımlayın
$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);

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

// Sınır
$border = new GroupDocs\Signature\Model\SınırLine();
$border->setRenk($color);
$border->setVisible(true);
$border->setWeight(12);
$options->setSınır($border);

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

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

// İmza isteği oluştur
$request = new GroupDocs\Signature\Model\Requests\createSignaturesRequest($settings);

// İmza oluştur
$response = $apiInstance->createSignatures($request);

echo "Response: ", $response->getFileInfo();
PHP'de REST API kullanarak PDF İmzalamak için QR Kodu oluşturun.

PHP’de REST API kullanarak PDF İmzalamak için QR Kodu oluşturun.

QR Kod ile İmzalanmış PDF’i İndirin

Yukarıdaki kod örneği, imzalı PDF dosyasını buluta kaydedecektir. Aşağıdaki kod örneği kullanılarak indirilebilir:

// Bu kod örneği, bir PDF dosyasının buluttan nasıl indirileceğini gösterir.
// api'yi başlat
$apiInstance = new GroupDocs\Signature\FileApi($configuration);

// Dosya isteğini indir
$request = new GroupDocs\Signature\Model\Requests\DownloadFileRequest("Aztec_QR_out.pdf", self::$MyStorage, null);

// Dosyayı indir
$response = $apiInstance->downloadFile($request);

PHP’de PDF İmzalamak için Aztek Kodu Oluşturun

Aztek kodu, yazdırması ve taraması en kolay iki boyutlu (2D) QR kodudur. Daha önce bahsedilen adımları izleyerek yüklenen PDF belgesini imzalamak için Aztek kodu oluşturabiliriz. Ancak, sadece QRCodeType’ı “Aztec” olarak ayarlamamız gerekiyor.

Aşağıdaki kod örneği, PHP’de bir REST API kullanarak Aztek kodunun nasıl oluşturulacağını ve PDF belgesinin nasıl imzalanacağını gösterir.

// Bu kod örneği, PHP'de Aztek kodunun nasıl oluşturulacağını gösterir.
// SignatureAPI örneği
$apiInstance = new GroupDocs\Signature\SignApi($configuration);

// Giriş dosyası yolu
$fileInfo = new GroupDocs\Signature\Model\FileInfo();
$fileInfo->setFilePath("sample.pdf");

// SignSettings'i tanımlayın
$settings = new GroupDocs\Signature\Model\SignSettings();
$settings->setFileInfo($fileInfo);

// SaveOptions'ı tanımlayın
$saveOptions = new GroupDocs\Signature\Model\SaveOptions();
$saveOptions->setOutputFilePath("QR_out.pdf");
$settings->setSaveOptions($saveOptions);

// Sign QR kodu seçeneklerini tanımlayın
$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);

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

// Sınır
$border = new GroupDocs\Signature\Model\SınırLine();
$border->setRenk($color);
$border->setVisible(true);
$border->setWeight(12);
$options->setSınır($border);

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

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

// İmza isteği oluştur
$request = new GroupDocs\Signature\Model\Requests\createSignaturesRequest($settings);

// İmza oluştur
$response = $apiInstance->createSignatures($request);

echo "Response: ", $response->getFileInfo();
PHP'de PDF İmzalamak için Aztek QR Kodu oluşturun.

PHP’de PDF İmzalamak için Aztek Kodu Oluşturun.

PHP’de PDF İmzalamak için DataMatrix Kodu Oluşturun

Daha önce bahsedilen adımları izleyerek DataMatrix kodunu da oluşturabiliriz. Ancak, sadece QRCodeType’ı “DataMatrix” olarak ayarlamamız gerekiyor.

Aşağıdaki kod örneği, PHP’de bir REST API kullanarak DataMatrix kodunun nasıl oluşturulacağını ve PDF belgesinin nasıl imzalanacağını gösterir.

// Bu kod örneği, PHP'de DataMatrix kodunun nasıl oluşturulacağını gösterir.
// SignatureAPI örneği
$apiInstance = new GroupDocs\Signature\SignApi($configuration);

// Giriş dosyası yolu
$fileInfo = new GroupDocs\Signature\Model\FileInfo();
$fileInfo->setFilePath("sample.pdf");

// SignSettings'i tanımlayın
$settings = new GroupDocs\Signature\Model\SignSettings();
$settings->setFileInfo($fileInfo);

// SaveOptions'ı tanımlayın
$saveOptions = new GroupDocs\Signature\Model\SaveOptions();
$saveOptions->setOutputFilePath("QR_out.pdf");
$settings->setSaveOptions($saveOptions);

// Sign QR kodu seçeneklerini tanımlayın
$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);

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

// Sınır
$border = new GroupDocs\Signature\Model\SınırLine();
$border->setRenk($color);
$border->setVisible(true);
$border->setWeight(12);
$options->setSınır($border);

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

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

// İmza isteği oluştur
$request = new GroupDocs\Signature\Model\Requests\createSignaturesRequest($settings);

// İmza oluştur
$response = $apiInstance->createSignatures($request);

echo "Response: ", $response->getFileInfo();
PHP'de PDF İmzalamak için DataMatrix QR Kodu oluşturun.

PHP’de PDF İmzalamak için DataMatrix Kodu Oluşturun.

PHP’de QR Kod İmzalarını Doğrulayın

Oluşturulan QR kod imzalarını aşağıda verilen adımları izleyerek kolayca doğrulayabilirsiniz:

  1. Öncelikle SignApi’nin bir örneğini oluşturun.
  2. PDF dosya yolunu ayarlayın.
  3. VerifyQRCodeOptions’ı tanımlayın.
  4. İmza Türü, Metin ve Kod Sağlayın.
  5. VerifySettings’i tanımlayın ve VerifyQRCodeOptions’ı VerifySettings’e atayın.
  6. Bundan sonra, VerifySettings ile VerifySignatureRequest’i oluşturun.
  7. Son olarak, verifySignatures() yöntemini çağırarak sonuçları alın.

Aşağıdaki kod örneği, PHP’de bir REST API kullanarak QR kodu imzalarının nasıl doğrulanacağını gösterir.

// Bu kod örneği, QR kodu imzalarının nasıl doğrulanacağını gösterir.
// SignatureAPI örneği
$apiInstance = new GroupDocs\Signature\SignApi($configuration);

// Giriş dosyası yolu
$fileInfo = new GroupDocs\Signature\Model\FileInfo();
$fileInfo->setFilePath("QR_out.pdf");

// Doğrulama ayarlarını tanımlayın
$settings = new GroupDocs\Signature\Model\VerifySettings();
$settings->setFileInfo($fileInfo);

// Doğrulama QR kodu seçeneklerini tanımlayın
$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]);

// İmza isteğini doğrula
$request = new GroupDocs\Signature\Model\Requests\VerifySignaturesRequest($settings);

// İmzaları doğrulayın
$response = $apiInstance->verifySignatures($request);

echo "Response: ", $response;

Çevrimiçi Deneyin

Lütfen yukarıdaki API kullanılarak geliştirilen aşağıdaki ücretsiz çevrimiçi PDF imza aracını deneyin. https://products.groupdocs.app/signature/pdf

Çözüm

Bu makalede, şunların nasıl yapılacağını öğrendik:

  • PHP’de QR kodu oluşturun;
  • PHP’de QR koduyla PDF belgesini imzalayın;
  • PHP’de e-imzaları doğrulayın;
  • PDF dosyasını programlı olarak buluta yükleyin;
  • imzalı PDF dosyasını buluttan indirin.

Ayrıca belgeleri kullanarak GroupDocs.Signature Cloud API hakkında daha fazla bilgi edinebilirsiniz. Ayrıca, API’lerimizi doğrudan tarayıcı aracılığıyla görselleştirmenize ve bunlarla etkileşimde bulunmanıza olanak tanıyan bir API Referansı bölümü de sağlıyoruz. Herhangi bir belirsizlik durumunda, lütfen forumda bizimle iletişime geçmekten çekinmeyin.

Ayrıca bakınız