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
- PHP’de PDF İmzalamak için QR Kodu Oluşturun
- PHP’de PDF İmzalamak için Aztek QR Kodu Oluşturun
- PHP’de PDF İmzalamak için DataMatrix QR Kodu Oluşturun
- PHP’de QR Kod İmzalarını Doğrulayın
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:
- PDF’yi buluta Yükle
- PDF İmzalamak için QR Kodu Oluşturun
- İmzalanmış dosyayı İndir
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:
- Öncelikle SignApi’nin bir örneğini oluşturun.
- Ardından, giriş PDF dosyası yolunu sağlayın.
- Ardından, çıktı dosyası yolunu ayarlayın.
- Ardından, SignQRCodeOptions nesnesini başlatın.
- Ardından, QRCodeType’ı “QR” olarak ayarlayın. Ayrıca, metni ve konumunu ayarlayın.
- İsteğe bağlı olarak Sayfa, Döndürme Açısı, Yatay Hizalama, Kenarlık, Dolgu vb. seçenekleri ayarlayın.
- Bundan sonra, tanımlanmış SignSettings ile createSignaturesRequest’i oluşturun.
- 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();
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 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 QR Kod İmzalarını Doğrulayın
Oluşturulan QR kod imzalarını aşağıda verilen adımları izleyerek kolayca doğrulayabilirsiniz:
- Öncelikle SignApi’nin bir örneğini oluşturun.
- PDF dosya yolunu ayarlayın.
- VerifyQRCodeOptions’ı tanımlayın.
- İmza Türü, Metin ve Kod Sağlayın.
- VerifySettings’i tanımlayın ve VerifyQRCodeOptions’ı VerifySettings’e atayın.
- Bundan sonra, VerifySettings ile VerifySignatureRequest’i oluşturun.
- 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.