
PDF dokumenter er blandt de udbredte filformater til informationsdeling. De har normalt fortrolig og juridisk værdi, såsom en kontrakt. For at sikre filernes integritet og for at undgå enhver forfalskning tilføjer vi digitale signaturer. Det sikrer også, at et dokument ikke er blevet ændret af en anden end dets forfatter, og verificerer, at forfatteren er den, vi forventer, og ikke en anden.
En digital signatur i en PDF svarer til en blæksignatur på et papirdokument, men det er meget mere sikkert. Denne information er placeret i et dokument, og populære PDF læsere kan kontrollere, at dokumentet ikke er blevet ændret af en ukendt person. I denne artikel vil vi diskutere detaljerne om, hvordan man digitalt signerer PDF-dokumenter online i PHP.
- Få adgang til API ved hjælp af cURL-kommandoen
- Få adgang til API via PHP SDK
- Læs Signature Field
- Tilføj signaturfelter ved hjælp af PHP
Få adgang til API ved hjælp af cURL-kommandoen
Vores API’er er bygget efter REST-arkitekturprincipper, så de også kan tilgås via cURL-kommandoer. Bemærk venligst, at vores API’er kun er tilgængelige for autoriserede personer, så før du får adgang til API’erne, skal du først besøge Aspose.Cloud dashboard, og hvis du har GitHub eller Google-konto, skal du blot tilmelde dig. Ellers skal du klikke på knappen Opret en ny konto og angive de nødvendige oplysninger. Log nu ind på dashboardet ved hjælp af legitimationsoplysninger og udvid applikationssektionen fra dashboardet, og rul ned mod sektionen Klientlegitimationsoplysninger for at se Client ID og Client Secret detaljer.
Nu er næste trin at generere JSON Web Token (JWT), så API’erne er tilgængelige via kommandoprompten. Det samme JWT-token bruges til at få adgang til API’er gennem cURL-kommandoer.
curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=a41d01ef-dfd5-4e02-ad29-bd85fe41e3e4&client_secret=d87269aade6a46cdc295b711e26809af" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"
Få adgang til API via PHP SDK
For at lette vores PHP-kunder, der ønsker at behandle PDF-filer programmatisk gennem PHP-kode, har vi udviklet Aspose.PDF Cloud SDK til PHP, som er en indpakning omkring Aspose.PDF Cloud API. Vi kan bruge det samme SDK til at behandle digitale signaturer og udføre relaterede handlinger. SDK’et er tilgængeligt til download fra Composer og GitHub.
Vi skal nu diskutere trinene til at installere Aspose.PDF Cloud SDK til PHP gennem komponist. Vi er allerede klar over, at Composer anbefales til brug med SDK’et og til styring af dine projektafhængigheder. Så når vi har konfigureret komponisten på dit system, kan du prøve at bruge følgende kommando til at installere Aspose.PDF Cloud SDK til PHP.
composer require aspose/pdf-sdk-php
Læs signaturfelter
API’en giver dig mulighed for at læse de egenskaber, der er knyttet til signaturfelter, der allerede er tilgængelige i PDF-dokumenter. For at læse signaturfeltet får du to muligheder.
- Læs signaturfelterne fra den specifikke side i dokumentet ved hjælp af GetPageSignatureFields API
- Læs dokumentsignaturfeltet efter navn ved hjælp af GetSignatureField API
For at læse signaturfelterne fra en bestemt side i dokumentet, prøv venligst at bruge følgende cURL-kommando. Bemærk venligst i følgende kommando, at BlankWithSignature.pdf er PDF-kildefilen:
curl -X GET "https://api.aspose.cloud/v3.0/pdf/BlankWithSignature.pdf/page/1/fields/signature" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>"
For nu at læse egenskaber forbundet med det bestemte signaturfelt over dokumentet, prøv venligst at bruge følgende kommando, hvor vi angiver navnet på et bestemt signaturfelt som et argument.
curl -X GET "https://api.aspose.cloud/v3.0/pdf/BlankWithSignature.pdf/fields/signature/Signature1" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>"
Detaljerne og trinene nedenfor forklarer, hvordan vi kan hente signaturfeltdetaljer fra visse sider af PDF-dokumenter ved hjælp af PHP-kode.
protected $pdfApi;
// Hent appnøgle og app-SID fra https://dashboard.aspose.cloud/
$appSid = '';
$appKey = '';
$host = 'https://api.aspose.cloud/v3.0';
// konfigurationsobjekt
$this->config = new Configuration();
$this->config->setAppKey($appKey);
$this->config->setAppSid($appSid);
$this->config->setHost($host);
// oprette PdfApi-instans
$this->pdfApi = new PdfApi(null, $this->config);
// navn på input PDF-dokument
$name = 'BlankWithSignature.pdf';
// uploade filen til skylageret
$this->uploadFile($name);
// sidenummer i dokumentet
$pageNumber = 1;
// call API-metoden for at hente signaturfelter fra dokumentet
$response = $this->pdfApi->getPageSignatureFields($name, $pageNumber, null, $this->tempFolder);
$this->assertEquals(200, $response->getCode());
Den givne kode viser, hvordan information for bestemte signaturfelter i PDF-filen kan hentes.
protected $pdfApi;
// Hent app-nøgle og app-SID fra https://dashboard.aspose.cloud/
$appSid = '';
$appKey = '';
$host = 'https://api.aspose.cloud/v3.0';
// konfigurationsobjekt
$this->config = new Configuration();
$this->config->setAppKey($appKey);
$this->config->setAppSid($appSid);
$this->config->setHost($host);
// oprette PdfApi-instans
$this->pdfApi = new PdfApi(null, $this->config);
// navn på input PDF-dokument
$name = 'BlankWithSignature.pdf';
// upload PDF til skylager
$this->uploadFile($name);
// signaturfelt for at hente information
$fieldName = 'Signature1';
// kalde API for at hente signaturfeltdetaljer
$response = $this->pdfApi->getSignatureField($name, $fieldName, null, $this->tempFolder);
$this->assertEquals(200, $response->getCode());
Tilføj signaturfelter ved hjælp af PHP
Aspose.PDF Cloud SDK til PHP tilbyder også mulighederne for at tilføje signaturfelterne til PDF-dokumentet. Nedenstående kodestykke giver dig mulighed for at tilføje signaturfeltet til PDF-filen.

protected $pdfApi;
// Hent appnøgle og app-SID fra https://dashboard.aspose.cloud/
$appSid = '';
$appKey = '';
$host = 'https://api.aspose.cloud/v3.0';
// konfigurationsobjekt
$this->config = new Configuration();
$this->config->setAppKey($appKey);
$this->config->setAppSid($appSid);
$this->config->setHost($host);
// oprette PdfApi-instans
$this->pdfApi = new PdfApi(null, $this->config);
// navn på input PDF-dokument
$name = 'BlankWithSignature.pdf';
// upload fil til skylager
$this->uploadFile($name);
$signatureFileName = '33226.p12';
$this->uploadFile($signatureFileName);
$folder = $this->tempFolder;
$signature = new Aspose\PDF\Model\Signature();
$signature->setAuthority('Nayyer Shahbaz');
$signature->setContact('nayyer.shahbaz@aspose.com');
$signature->setDate('08/01/2012 12:15:00.000 PM');
$signature->setFormFieldName('Signature1');
$signature->setLocation('Australia');
$signature->setPassword('sIikZSmz');
$signature->setRectangle(new Aspose\PDF\Model\Rectangle(['llx' => 100, 'lly' => 100, 'urx' => 0, 'ury' => 0]));
$signature->setSignaturePath($folder . '/' . $signatureFileName);
$signature->setSignatureType(Aspose\PDF\Model\SignatureType::PKCS7);
$signature->setVisible(true);
$signature->setShowProperties(false);
$field = new Aspose\PDF\Model\SignatureField();
$field->setPartialName('sign1');
// sideindeks, hvor signaturfelt skal tilføjes
$field->setPageIndex(1);
$field->setSignature($signature);
// angiv det rektangulære område for feltet Signatur
$field->setRect(new Aspose\PDF\Model\Rectangle(['llx' => 100, 'lly' => 100, 'urx' => 160, 'ury' => 140]));
// kald API'et for at tilføje signaturfelt
$response = $this->pdfApi->postSignatureField($name, $field, null, $this->tempFolder);
$this->assertEquals(200, $response->getCode());
Konklusion
I denne blog har vi diskuteret koncepterne for at arbejde med digitale signaturer i PDF-dokumenter. Vi har lært om, hvordan man henter informationen relateret til eksisterende signaturfelter, samt hvordan man tilføjer nye signaturfelter i dokumentet. Bemærk venligst, at Aspose.PDF Cloud SDK til PHP er open source, og den komplette kildekode kan downloades fra GitHub repository.
Prøv at bruge vores API’er, og hvis du støder på problemer, er du velkommen til at kontakte via gratis kundesupportfora.