
PDF تعد المستندات من بين تنسيقات الملفات الأكثر استخدامًا لمشاركة المعلومات. وعادةً ما تكون لها قيمة سرية وقانونية، مثل العقد. ولضمان سلامة الملفات وتجنب أي تزوير، نضيف التوقيعات الرقمية. كما تضمن عدم تعديل المستند من قبل شخص آخر غير مؤلفه، وتتحقق من أن المؤلف هو الشخص الذي نتوقعه وليس شخصًا آخر.
التوقيع الرقمي في PDF يعادل التوقيع بالحبر على مستند ورقي، لكنه أكثر أمانًا. يتم وضع هذه المعلومات داخل المستند، ويمكن لقراء PDF المشهورين التحقق من عدم تعديل المستند بواسطة شخص مجهول. في هذه المقالة، سنناقش التفاصيل حول كيفية التوقيع الرقمي على مستندات PDF عبر الإنترنت باستخدام PHP.
- الوصول إلى واجهة برمجة التطبيقات باستخدام أمر cURL
- الوصول إلى واجهة برمجة التطبيقات من خلال مجموعة أدوات تطوير البرامج PHP
- قراءة حقل التوقيع
- إضافة حقول التوقيع باستخدام PHP
الوصول إلى واجهة برمجة التطبيقات باستخدام أمر cURL
تم بناء واجهات برمجة التطبيقات الخاصة بنا وفقًا لمبادئ بنية REST حتى يمكن الوصول إليها أيضًا عبر أوامر cURL. يرجى ملاحظة أن واجهات برمجة التطبيقات الخاصة بنا لا يمكن الوصول إليها إلا من قبل الأشخاص المصرح لهم، لذا قبل الوصول إلى واجهات برمجة التطبيقات، تحتاج أولاً إلى زيارة لوحة تحكم Aspose.Cloud وإذا كان لديك حساب GitHub أو Google، فما عليك سوى التسجيل. بخلاف ذلك، انقر فوق الزر إنشاء حساب جديد وقم بتقديم المعلومات المطلوبة. الآن قم بتسجيل الدخول إلى لوحة التحكم باستخدام بيانات الاعتماد وقم بتوسيع قسم التطبيقات من لوحة التحكم وانتقل لأسفل نحو قسم بيانات اعتماد العميل لرؤية تفاصيل معرف العميل والسر الخاص بالعميل.
الآن الخطوة التالية هي إنشاء رمز ويب JSON (JWT) بحيث يمكن الوصول إلى واجهات برمجة التطبيقات من خلال موجه الأوامر. يتم استخدام نفس رمز JWT للوصول إلى واجهات برمجة التطبيقات من خلال أوامر 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"
الوصول إلى واجهة برمجة التطبيقات من خلال مجموعة أدوات تطوير البرامج PHP
لتسهيل الأمر على عملاء PHP الذين يرغبون في معالجة ملفات PDF برمجيًا من خلال كود PHP، قمنا بتطوير Aspose.PDF Cloud SDK لـ PHP وهو عبارة عن غلاف حول واجهة برمجة تطبيقات Aspose.PDF Cloud. يمكننا استخدام نفس SDK لمعالجة التوقيعات الرقمية وإجراء العمليات ذات الصلة. SDK متاح للتنزيل من Composer وGitHub.
سنناقش الآن الخطوات اللازمة لتثبيت Aspose.PDF Cloud SDK لـ PHP من خلال composer. نحن نعلم بالفعل أن Composer موصى باستخدامه مع SDK ولإدارة تبعيات المشروع. لذا بمجرد تكوين composer على نظامك، حاول استخدام الأمر التالي لتثبيت Aspose.PDF Cloud SDK لـ PHP.
composer require aspose/pdf-sdk-php
قراءة حقول التوقيع
تتيح لك واجهة برمجة التطبيقات قراءة الخصائص المرتبطة بحقول التوقيع المتوفرة بالفعل في مستندات PDF. لقراءة حقل التوقيع، تحصل على خيارين.
- قراءة حقول التوقيع من الصفحة المحددة للمستند باستخدام واجهة برمجة التطبيقات GetPageSignatureFields
- قراءة حقل توقيع المستند حسب الاسم باستخدام واجهة برمجة التطبيقات 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;
// احصل على مفتاح التطبيق ومعرف التطبيق من 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;
// احصل على مفتاح التطبيق ومعرف التطبيق من 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 for PHP أيضًا الإمكانيات اللازمة لإضافة حقول التوقيع إلى مستند PDF. يتيح لك مقتطف التعليمات البرمجية الموضح أدناه إضافة حقل التوقيع إلى ملف PDF.

protected $pdfApi;
// احصل على مفتاح التطبيق ومعرف التطبيق من 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 for PHP مفتوح المصدر ويمكن تنزيل الكود المصدر الكامل من مستودع GitHub.
يرجى محاولة استخدام واجهات برمجة التطبيقات الخاصة بنا، وفي حالة مواجهة أي مشكلة، فلا تتردد في الاتصال بنا عبر منتديات دعم العملاء المجانية.