Kod QR (kod szybkiej odpowiedzi) to rodzaj czytelnego maszynowo kodu kreskowego Matrix w postaci tablicy czarno-białych kwadratów. Jest to etykieta optyczna zawierająca informacje czytelne za pomocą czytnika QR. Możemy programowo generować kody QR i podpisywać dokumenty i obrazy w chmurze. W tym artykule dowiemy się, jak wygenerować kod QR do podpisywania dokumentów PDF za pomocą REST API w PHP.
W tym artykule zostaną omówione następujące tematy:
- QR Code Generator REST API i PHP SDK
- Wygeneruj kod QR do podpisania pliku PDF w PHP
- Wygeneruj Aztec QR Code do podpisania PDF w PHP
- Utwórz kod QR DataMatrix do podpisywania plików PDF w PHP
- Zweryfikuj podpisy QR Code w PHP
QR Code Generator REST API i PHP SDK
Do generowania kodów QR do podpisywania dokumentów PDF będziemy używać PHP SDK of GroupDocs.Signature Cloud API. Umożliwia tworzenie, weryfikowanie i wyszukiwanie różnego rodzaju podpisów, takich jak podpisy graficzne, kody kreskowe, kody QR, tekstowe, cyfrowe i pieczątkowe. Obsługuje następujące typy kodów QR:
- Kodeks Azteków
- Kod DataMatrix
- GS1 DataMatrix
- GS1 QR
- QR
Zainstaluj go za pomocą następującego polecenia w konsoli:
composer require groupdocscloud/groupdocs-signature-cloud
Po instalacji użyj autoload Composers, aby użyć SDK, jak pokazano poniżej:
require_once('vendor/autoload.php');
Proszę uzyskaj swój identyfikator klienta i klucz tajny z pulpitu nawigacyjnego przed wykonaniem wspomnianych kroków. Po uzyskaniu identyfikatora i tajnego kodu dodaj kod, jak pokazano poniżej:
// Ten przykład kodu pokazuje, jak dodać identyfikator klienta i klucz tajny w kodzie.
static $ClientId = '659fe7da-715b-4744-a0f7-cf469a392b73';
static $ClientSecret = 'b377c36cfa28fa69960ebac6b6e36421';
static $ApiBaseUrl = 'https://api.groupdocs.cloud';
static $MyStorage = '';
// Zainicjuj konfigurację
$configuration = new GroupDocs\Signature\Configuration();
// Ustawianie konfiguracji
$configuration->setAppSid(self::$ClientId);
$configuration->setAppKey(self::$ClientSecret);
$configuration->setApiBaseUrl(self::$ApiBaseUrl);
Wygeneruj kod QR do podpisania PDF za pomocą REST API w PHP
Możemy wygenerować kod QR do podpisywania dokumentów PDF w chmurze, wykonując proste czynności wymienione poniżej:
- Prześlij plik PDF do chmury
- Wygeneruj kod QR, aby podpisać plik PDF
- Pobierz podpisany plik
Prześlij dokument
Najpierw prześlemy dokument PDF do chmury, korzystając z przykładowego kodu podanego poniżej:
// Ten przykład kodu demonstruje, jak przekazać plik PDF do chmury.
// Zainicjuj interfejs API
$apiInstance = new GroupDocs\Signature\FileApi($configuration);
// Wprowadź ścieżkę pliku
$file = "C:\\Files\\Signature\\sample.pdf";
// Prześlij prośbę o plik
$request = new GroupDocs\Signature\Model\Requests\UploadFileRequest("sample.pdf", $file, self::$MyStorage, null);
// Przesyłanie pliku
$response = $apiInstance->uploadFile($request);
W rezultacie przesłany plik PDF będzie dostępny w sekcji plików pulpitu nawigacyjnego w chmurze.
Wygeneruj kod QR do podpisania pliku PDF w PHP
Możemy programowo wygenerować kod QR i podpisać przesłany dokument PDF, wykonując czynności podane poniżej:
- Najpierw utwórz instancję SignApi.
- Następnie podaj ścieżkę wejściowego pliku PDF.
- Następnie ustaw ścieżkę pliku wyjściowego.
- Następnie zainicjuj obiekt SignQRCodeOptions.
- Następnie ustaw QRCodeType na „QR”. Ponadto ustaw tekst i jego położenie.
- Opcjonalnie ustaw opcje, takie jak Page, RotationAngle, HorizontalAlignment, Border, Padding itp.
- Następnie utwórz createSignaturesRequest ze zdefiniowanymi parametrami SignSettings.
- Na koniec uzyskaj wyniki, wywołując metodę createSignatures().
Poniższy przykładowy kod pokazuje, jak wygenerować kod QR i podpisać dokument PDF przy użyciu interfejsu API REST w języku PHP.
// Ten przykład kodu pokazuje, jak wygenerować kod QR w celu podpisania dokumentu PDF.
// Instancja SignatureAPI
$apiInstance = new GroupDocs\Signature\SignApi($configuration);
// Wprowadź ścieżkę pliku
$fileInfo = new GroupDocs\Signature\Model\FileInfo();
$fileInfo->setFilePath("sample.pdf");
// Zdefiniuj ustawienia znaku
$settings = new GroupDocs\Signature\Model\SignSettings();
$settings->setFileInfo($fileInfo);
// Zdefiniuj opcje zapisu
$saveOptions = new GroupDocs\Signature\Model\SaveOptions();
$saveOptions->setOutputFilePath("QR_out.pdf");
$settings->setSaveOptions($saveOptions);
// Zdefiniuj opcje kodu QR znaku
$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);
// Kolor
$color = new GroupDocs\Signature\Model\Kolor();
$color->setWeb("Black");
// Granica
$border = new GroupDocs\Signature\Model\GranicaLine();
$border->setKolor($color);
$border->setVisible(true);
$border->setWeight(12);
$options->setGranica($border);
// Wyściółka
$padding = new GroupDocs\Signature\Model\Wyściółka();
$padding->setAll(5);
$options->setMargin($padding);
$options->setMarginMeasureType(GroupDocs\Signature\Model\SignTextOptions::MARGIN_MEASURE_TYPE_PIXELS);
$settings->setOptions([$options]);
// Utwórz prośbę o podpis
$request = new GroupDocs\Signature\Model\Requests\createSignaturesRequest($settings);
// Twórz podpisy
$response = $apiInstance->createSignatures($request);
echo "Response: ", $response->getFileInfo();
Pobierz plik PDF podpisany kodem QR
Powyższy przykładowy kod zapisze podpisany plik PDF w chmurze. Można go pobrać, korzystając z następującego przykładowego kodu:
// Ten przykład kodu pokazuje, jak pobrać plik PDF z chmury.
// Zainicjuj interfejs API
$apiInstance = new GroupDocs\Signature\FileApi($configuration);
// Pobierz prośbę o plik
$request = new GroupDocs\Signature\Model\Requests\DownloadFileRequest("Aztec_QR_out.pdf", self::$MyStorage, null);
// Pobieranie pliku
$response = $apiInstance->downloadFile($request);
Wygeneruj kod Aztec do podpisania pliku PDF w PHP
Kod Aztec to najłatwiejszy do wydrukowania i zeskanowania dwuwymiarowy (2D) kod QR. Możemy wygenerować kod Aztec do podpisania przesłanego dokumentu PDF, wykonując czynności wymienione wcześniej. Jednak musimy tylko ustawić QRCodeType na „Aztec”.
Poniższy przykładowy kod pokazuje, jak wygenerować kod Aztec i podpisać dokument PDF przy użyciu interfejsu API REST w języku PHP.
// Ten przykład kodu pokazuje, jak wygenerować kod Aztec w PHP.
// Instancja SignatureAPI
$apiInstance = new GroupDocs\Signature\SignApi($configuration);
// Wprowadź ścieżkę pliku
$fileInfo = new GroupDocs\Signature\Model\FileInfo();
$fileInfo->setFilePath("sample.pdf");
// Zdefiniuj ustawienia znaku
$settings = new GroupDocs\Signature\Model\SignSettings();
$settings->setFileInfo($fileInfo);
// Zdefiniuj opcje zapisu
$saveOptions = new GroupDocs\Signature\Model\SaveOptions();
$saveOptions->setOutputFilePath("QR_out.pdf");
$settings->setSaveOptions($saveOptions);
// Zdefiniuj opcje kodu QR znaku
$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);
// Kolor
$color = new GroupDocs\Signature\Model\Kolor();
$color->setWeb("Black");
// Granica
$border = new GroupDocs\Signature\Model\GranicaLine();
$border->setKolor($color);
$border->setVisible(true);
$border->setWeight(12);
$options->setGranica($border);
// Wyściółka
$padding = new GroupDocs\Signature\Model\Wyściółka();
$padding->setAll(2);
$options->setMargin($padding);
$options->setMarginMeasureType(GroupDocs\Signature\Model\SignTextOptions::MARGIN_MEASURE_TYPE_PIXELS);
$settings->setOptions([$options]);
// Utwórz prośbę o podpis
$request = new GroupDocs\Signature\Model\Requests\createSignaturesRequest($settings);
// Twórz podpisy
$response = $apiInstance->createSignatures($request);
echo "Response: ", $response->getFileInfo();
Utwórz kod DataMatrix do podpisywania plików PDF w PHP
Możemy również wygenerować kod DataMatrix, wykonując kroki wymienione wcześniej. Jednak musimy tylko ustawić QRCodeType na „DataMatrix”.
Poniższy przykładowy kod pokazuje, jak wygenerować kod DataMatrix i podpisać dokument PDF przy użyciu interfejsu API REST w języku PHP.
// Ten przykład kodu demonstruje sposób generowania kodu DataMatrix w języku PHP.
// Instancja SignatureAPI
$apiInstance = new GroupDocs\Signature\SignApi($configuration);
// Wprowadź ścieżkę pliku
$fileInfo = new GroupDocs\Signature\Model\FileInfo();
$fileInfo->setFilePath("sample.pdf");
// Zdefiniuj ustawienia znaku
$settings = new GroupDocs\Signature\Model\SignSettings();
$settings->setFileInfo($fileInfo);
// Zdefiniuj opcje zapisu
$saveOptions = new GroupDocs\Signature\Model\SaveOptions();
$saveOptions->setOutputFilePath("QR_out.pdf");
$settings->setSaveOptions($saveOptions);
// Zdefiniuj opcje kodu QR znaku
$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);
// Kolor
$color = new GroupDocs\Signature\Model\Kolor();
$color->setWeb("Black");
// Granica
$border = new GroupDocs\Signature\Model\GranicaLine();
$border->setKolor($color);
$border->setVisible(true);
$border->setWeight(12);
$options->setGranica($border);
// Wyściółka
$padding = new GroupDocs\Signature\Model\Wyściółka();
$padding->setAll(2);
$options->setMargin($padding);
$options->setMarginMeasureType(GroupDocs\Signature\Model\SignTextOptions::MARGIN_MEASURE_TYPE_PIXELS);
$settings->setOptions([$options]);
// Utwórz prośbę o podpis
$request = new GroupDocs\Signature\Model\Requests\createSignaturesRequest($settings);
// Twórz podpisy
$response = $apiInstance->createSignatures($request);
echo "Response: ", $response->getFileInfo();
Zweryfikuj podpisy QR Code w PHP
Możesz łatwo zweryfikować wygenerowane podpisy kodu QR, wykonując poniższe czynności:
- Najpierw utwórz instancję SignApi.
- Ustaw ścieżkę pliku PDF.
- Zdefiniuj VerifyQRCodeOptions.
- Podaj typ podpisu, tekst i kod.
- Zdefiniuj VerifySettings i przypisz VerifyQRCodeOptions do VerifySettings.
- Następnie utwórz VerifySignatureRequest za pomocą VerifySettings.
- Na koniec uzyskaj wyniki, wywołując metodę verifySignatures().
Poniższy przykładowy kod pokazuje, jak zweryfikować podpisy kodu QR przy użyciu interfejsu API REST w języku PHP.
// Ten przykład kodu pokazuje, jak zweryfikować podpisy kodu QR.
// Instancja SignatureAPI
$apiInstance = new GroupDocs\Signature\SignApi($configuration);
// Wprowadź ścieżkę pliku
$fileInfo = new GroupDocs\Signature\Model\FileInfo();
$fileInfo->setFilePath("QR_out.pdf");
// Zdefiniuj ustawienia weryfikacji
$settings = new GroupDocs\Signature\Model\VerifySettings();
$settings->setFileInfo($fileInfo);
// Zdefiniuj opcje weryfikacji kodu 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]);
// Zweryfikuj żądanie podpisów
$request = new GroupDocs\Signature\Model\Requests\VerifySignaturesRequest($settings);
// Weryfikuj podpisy
$response = $apiInstance->verifySignatures($request);
echo "Response: ", $response;
Wypróbuj online
Wypróbuj następujące bezpłatne narzędzie do podpisu PDF online, które zostało opracowane przy użyciu powyższego interfejsu API. https://products.groupdocs.app/signature/pdf
Wniosek
W tym artykule dowiedzieliśmy się, jak:
- wygenerować kod QR w PHP;
- podpisz dokument PDF kodem QR w PHP;
- weryfikować podpisy elektroniczne w PHP;
- programowo przesłać plik PDF do chmury;
- pobierz podpisany plik PDF z chmury.
Poza tym możesz dowiedzieć się więcej o GroupDocs.Signature Cloud API korzystając z dokumentacji. Udostępniamy również sekcję Informacje o interfejsach API, która umożliwia wizualizację i interakcję z naszymi interfejsami API bezpośrednio w przeglądarce. W przypadku jakichkolwiek niejasności prosimy o kontakt na forum.