
PDF מסמכים הם בין הפורמטים הנפוצים של קבצים לשיתוף מידע. בדרך כלל יש להם ערך סודי ומשפטי, כמו חוזה. על מנת להבטיח את שלמות הקבצים וכדי למנוע כל זיוף, אנו מוסיפים חתימות דיגיטליות. זה גם מבטיח שמסמך לא שונה על ידי מישהו אחר מלבד המחבר שלו, ומאמת שהמחבר הוא מי שאנחנו מצפים ולא מישהו אחר.
חתימה דיגיטלית במסמך PDF היא המקבילה לחתימת דיו על מסמך נייר, אבל היא הרבה יותר מאובטחת. פיסת מידע זו ממוקמת בתוך מסמך, וקוראים פופולריים PDF יכולים לבדוק שהמסמך לא שונה על ידי אדם לא ידוע. במאמר זה, אנו הולכים לדון בפרטים כיצד לחתום דיגיטלית על מסמכי PDF באופן מקוון ב-PHP.
גישה ל-API באמצעות פקודת cURL
ממשקי ה-API שלנו בנויים על פי עקרונות ארכיטקטורת REST כך שניתן לגשת אליהם גם באמצעות פקודות cURL. שים לב שממשקי ה-API שלנו נגישים רק לאנשים מורשים, אז לפני הגישה לממשקי ה-API, עליך לבקר תחילה בAspose.Cloud Dashboard ואם יש לך חשבון GitHub או Google, פשוט הירשם. אחרת, לחץ על הלחצן צור חשבון חדש וספק את המידע הנדרש. כעת היכנס ללוח המחוונים באמצעות אישורים והרחב את קטע היישומים מלוח המחוונים וגלול מטה לכיוון הקטע אישורי לקוח כדי לראות את פרטי זיהוי הלקוח ופרטי סוד הלקוח.
כעת השלב הבא הוא ליצור JSON Web Token (JWT) כך שה-APIs יהיו נגישים דרך שורת הפקודה. אותו אסימון 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 מומלץ לשימוש עם ה-SDK ולניהול התלות בפרויקט שלך. אז לאחר שהגדרנו את המלחין במערכת שלך, נסה להשתמש בפקודה הבאה כדי להתקין את Aspose.PDF Cloud SDK עבור PHP.
composer require aspose/pdf-sdk-php
קרא שדות חתימה
ה-API מאפשר לך לקרוא את המאפיינים המשויכים לשדות חתימה שכבר זמינים במסמכי PDF. על מנת לקרוא את שדה החתימה, אתה מקבל שתי אפשרויות.
- קרא את שדות החתימה מהעמוד המסוים של המסמך באמצעות GetPageSignatureFields API
- קרא את שדה חתימת המסמך לפי שם באמצעות API של GetSignatureField
על מנת לקרוא את שדות החתימה מעמוד מסוים של המסמך, נסה להשתמש בפקודה 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 שלנו ובמקרה שנתקלת בבעיה כלשהי, אל תהסס ליצור קשר דרך פורומים לתמיכת לקוחות בחינם.