
เอกสาร PDF เป็นรูปแบบไฟล์ที่ใช้กันอย่างแพร่หลายสำหรับการแบ่งปันข้อมูล โดยทั่วไปแล้วเอกสารเหล่านี้จะมีคุณค่าทางความลับและทางกฎหมาย เช่น สัญญา เพื่อให้แน่ใจว่าไฟล์มีความสมบูรณ์และหลีกเลี่ยงการปลอมแปลง เราจึงเพิ่มลายเซ็นดิจิทัลเข้าไป นอกจากนี้ยังช่วยให้แน่ใจว่าเอกสารไม่ได้ถูกแก้ไขโดยบุคคลอื่นที่ไม่ใช่ผู้เขียน และตรวจสอบว่าผู้เขียนคือบุคคลที่เราคาดหวังไว้ ไม่ใช่บุคคลอื่น
ลายเซ็นดิจิทัลใน PDF เทียบเท่ากับลายเซ็นหมึกบนเอกสารกระดาษ แต่มีความปลอดภัยมากกว่ามาก ข้อมูลนี้จะถูกวางไว้ภายในเอกสาร และผู้อ่าน PDF ทั่วไปสามารถตรวจสอบได้ว่าเอกสารนั้นไม่ได้ถูกแก้ไขโดยบุคคลที่ไม่รู้จัก ในบทความนี้ เราจะมาพูดถึงรายละเอียดเกี่ยวกับวิธีการลงนามดิจิทัลในเอกสาร PDF ออนไลน์ใน PHP
เข้าถึง API โดยใช้คำสั่ง cURL
API ของเราถูกสร้างขึ้นตามหลักการสถาปัตยกรรม REST ดังนั้นจึงสามารถเข้าถึงได้ผ่านคำสั่ง cURL โปรดทราบว่า API ของเราสามารถเข้าถึงได้เฉพาะบุคคลที่ได้รับอนุญาตเท่านั้น ดังนั้นก่อนเข้าถึง API คุณต้องไปที่ Aspose.Cloud Dashboard ก่อน และหากคุณมีบัญชี GitHub หรือ Google ให้ลงทะเบียน มิฉะนั้น ให้คลิกที่ปุ่ม Create a new Account และระบุข้อมูลที่จำเป็น จากนั้นเข้าสู่ระบบแดชบอร์ดโดยใช้ข้อมูลรับรอง และขยายส่วนแอปพลิเคชันจากแดชบอร์ด จากนั้นเลื่อนลงไปที่ส่วนข้อมูลรับรองไคลเอนต์เพื่อดูรายละเอียดรหัสไคลเอนต์และความลับไคลเอนต์
ขั้นตอนต่อไปคือการสร้าง JSON Web Token (JWT) เพื่อให้สามารถเข้าถึง API ได้ผ่านพรอมต์คำสั่ง โทเค็น JWT เดียวกันนี้ใช้เพื่อเข้าถึง API ผ่านคำสั่ง cURL
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"
เข้าถึง API ผ่าน PHP SDK
เพื่ออำนวยความสะดวกแก่ลูกค้า PHP ที่ต้องการประมวลผลไฟล์ PDF ด้วยโปรแกรมผ่านโค้ด PHP เราได้พัฒนา Aspose.PDF Cloud SDK สำหรับ PHP ซึ่งเป็นตัวห่อหุ้ม Aspose.PDF Cloud API เราสามารถใช้ SDK เดียวกันในการประมวลผลลายเซ็นดิจิทัลและดำเนินการที่เกี่ยวข้อง SDK สามารถดาวน์โหลดได้จาก Composer และ GitHub
ตอนนี้เราจะมาพูดถึงขั้นตอนการติดตั้ง Aspose.PDF Cloud SDK สำหรับ PHP ผ่าน composer เรารู้กันดีอยู่แล้วว่า Composer แนะนำให้ใช้กับ SDK และสำหรับการจัดการการอ้างอิงของโปรเจ็กต์ของคุณ ดังนั้น เมื่อเรากำหนดค่า composer ในระบบของคุณแล้ว ให้ลองใช้คำสั่งต่อไปนี้เพื่อติดตั้ง Aspose.PDF Cloud SDK สำหรับ PHP
composer require aspose/pdf-sdk-php
อ่านช่องลายเซ็น
API ช่วยให้คุณสามารถอ่านคุณสมบัติที่เกี่ยวข้องกับฟิลด์ลายเซ็นที่มีอยู่แล้วในเอกสาร PDF หากต้องการอ่านฟิลด์ลายเซ็น คุณมีสองตัวเลือก
- อ่านฟิลด์ลายเซ็นจากหน้าเฉพาะของเอกสารโดยใช้ GetPageSignatureFields API
- อ่านฟิลด์ลายเซ็นเอกสารตามชื่อโดยใช้ GetSignatureField API
หากต้องการอ่านฟิลด์ลายเซ็นจากหน้าใดหน้าหนึ่งของเอกสาร โปรดลองใช้คำสั่ง cURL ต่อไปนี้ โปรดทราบว่าในคำสั่งต่อไปนี้ BlankWithSignature.pdf คือไฟล์ PDF ต้นฉบับ:
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>"
ขณะนี้เพื่ออ่านคุณสมบัติที่เกี่ยวข้องกับฟิลด์ลายเซ็นเฉพาะในเอกสาร โปรดลองใช้คำสั่งต่อไปนี้ โดยที่เราระบุชื่อของฟิลด์ลายเซ็นเฉพาะเป็นอาร์กิวเมนต์
curl -X GET "https://api.aspose.cloud/v3.0/pdf/BlankWithSignature.pdf/fields/signature/Signature1" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>"
รายละเอียดและขั้นตอนด้านล่างนี้จะอธิบายว่าเราสามารถดึงรายละเอียดฟิลด์ลายเซ็นจากหน้าบางหน้าของเอกสาร PDF โดยใช้โค้ด PHP ได้อย่างไร
protected $pdfApi;
// รับรหัสแอปและ SID แอปจาก https://dashboard.aspose.cloud/
$appSid = '';
$appKey = '';
$host = 'https://api.aspose.cloud/v3.0';
// วัตถุการกำหนดค่า
$this->config = new Configuration();
$this->config->setAppKey($appKey);
$this->config->setAppSid($appSid);
$this->config->setHost($host);
// สร้างอินสแตนซ์ PdfApi
$this->pdfApi = new PdfApi(null, $this->config);
// ชื่อเอกสาร PDF ที่ป้อน
$name = 'BlankWithSignature.pdf';
// อัพโหลดไฟล์ไปยังที่เก็บข้อมูลบนคลาวด์
$this->uploadFile($name);
// เลขที่หน้าในเอกสาร
$pageNumber = 1;
// เรียกใช้เมธอด API เพื่อดึงข้อมูลลายเซ็นจากเอกสาร
$response = $this->pdfApi->getPageSignatureFields($name, $pageNumber, null, $this->tempFolder);
$this->assertEquals(200, $response->getCode());
โค้ดที่กำหนดแสดงให้เห็นวิธีดึงข้อมูลสำหรับฟิลด์ลายเซ็นบางฟิลด์ภายในไฟล์ PDF
protected $pdfApi;
// รับรหัสแอปและ SID แอปจาก https://dashboard.aspose.cloud/
$appSid = '';
$appKey = '';
$host = 'https://api.aspose.cloud/v3.0';
// วัตถุการกำหนดค่า
$this->config = new Configuration();
$this->config->setAppKey($appKey);
$this->config->setAppSid($appSid);
$this->config->setHost($host);
// สร้างอินสแตนซ์ PdfApi
$this->pdfApi = new PdfApi(null, $this->config);
// ชื่อเอกสาร PDF ที่ป้อน
$name = 'BlankWithSignature.pdf';
// อัพโหลด PDF ไปยังที่เก็บข้อมูลบนคลาวด์
$this->uploadFile($name);
// ช่องลายเซ็นเพื่อดึงข้อมูล
$fieldName = 'Signature1';
// เรียก API เพื่อรับรายละเอียดฟิลด์ลายเซ็น
$response = $this->pdfApi->getSignatureField($name, $fieldName, null, $this->tempFolder);
$this->assertEquals(200, $response->getCode());
เพิ่มฟิลด์ลายเซ็นโดยใช้ PHP
Aspose.PDF Cloud SDK สำหรับ PHP ยังให้ความสามารถในการเพิ่มฟิลด์ลายเซ็นลงในเอกสาร PDF อีกด้วย ตัวอย่างโค้ดด้านล่างนี้ช่วยให้คุณเพิ่มฟิลด์ลายเซ็นลงในไฟล์ PDF ได้

protected $pdfApi;
// รับรหัสแอปและ SID แอปจาก https://dashboard.aspose.cloud/
$appSid = '';
$appKey = '';
$host = 'https://api.aspose.cloud/v3.0';
// วัตถุการกำหนดค่า
$this->config = new Configuration();
$this->config->setAppKey($appKey);
$this->config->setAppSid($appSid);
$this->config->setHost($host);
// สร้างอินสแตนซ์ PdfApi
$this->pdfApi = new PdfApi(null, $this->config);
// ชื่อเอกสาร PDF ที่ป้อน
$name = 'BlankWithSignature.pdf';
// อัพโหลดไฟล์ไปยังที่เก็บข้อมูลบนคลาวด์
$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');
// ดัชนีหน้าซึ่งจำเป็นต้องเพิ่มช่องลายเซ็น
$field->setPageIndex(1);
$field->setSignature($signature);
// ระบุพื้นที่สี่เหลี่ยมสำหรับช่องลายเซ็น
$field->setRect(new Aspose\PDF\Model\Rectangle(['llx' => 100, 'lly' => 100, 'urx' => 160, 'ury' => 140]));
// เรียก API เพื่อเพิ่มฟิลด์ลายเซ็น
$response = $this->pdfApi->postSignatureField($name, $field, null, $this->tempFolder);
$this->assertEquals(200, $response->getCode());
บทสรุป
ในบล็อกนี้ เราได้พูดถึงแนวคิดในการทำงานกับลายเซ็นดิจิทัลในเอกสาร PDF เราได้เรียนรู้เกี่ยวกับวิธีการเรียกค้นข้อมูลที่เกี่ยวข้องกับฟิลด์ลายเซ็นที่มีอยู่ รวมถึงวิธีการเพิ่มฟิลด์ลายเซ็นใหม่ในเอกสาร โปรดทราบว่า Aspose.PDF Cloud SDK สำหรับ PHP เป็นโอเพ่นซอร์ส และสามารถดาวน์โหลดโค้ดต้นฉบับทั้งหมดได้จากที่เก็บ GitHub
โปรดลองใช้ API ของเรา และในกรณีที่คุณพบปัญหาใดๆ โปรดติดต่อผ่าน ฟอรัมสนับสนุนลูกค้า ฟรี