تشفير PDF هو عملية حماية المستند باستخدام كلمة مرور بالإضافة إلى بعض خوارزميات التشفير بما في ذلك AES أو RC4. يمكنك أيضًا تعيين امتيازات مختلفة لتقييد وصول المستخدم إلى عمليات مختلفة. على سبيل المثال ، يمكنك السماح فقط بالطباعة وإضافة التعليقات التوضيحية وملء النماذج وما إلى ذلك. في هذه المقالة ، ستتعلم كيفية تشفير ملفات PDF باستخدام C++. علاوة على ذلك ، تتناول هذه المقالة أيضًا كيفية تعيين امتيازات مختلفة وفك تشفير ملفات PDF المحمية بكلمة مرور باستخدام C++.
C++ API لتشفير أو فك تشفير ملفات PDF
Aspose.PDF for C++ هي واجهة برمجة تطبيقات C++ أصلية تتيح لك إنشاء مستندات PDF وقراءتها ومعالجتها. بالإضافة إلى ذلك ، يسمح لك أيضًا بتشفير ملفات PDF بكلمات مرور وفك تشفير ملفات PDF المشفرة في غضون بضعة أسطر من التعليمات البرمجية. يمكنك تنزيل واجهة برمجة التطبيقات من قسم التنزيلات أو تثبيتها باستخدام NuGet.
تشفير ملفات PDF باستخدام C++
فيما يلي خطوات تشفير ملف PDF باستخدام Aspose.PDF لـ C++.
- قم بتحميل مستند PDF باستخدام فئة المستند.
- استخدم فئة DocumentPrivilege لتعيين امتيازات مختلفة مثل السماح بالطباعة ، والسماح بتعديل المحتوى وما إلى ذلك.
- استدعاء Document.Encrypt (سلسلة ، سلسلة ، SharedPtr ، CryptoAlgorithm، bool) طريقة لتشفير PDF.
- احفظ ملف PDF باستخدام طريقة Document-> Save(String).
يوضح نموذج التعليمات البرمجية التالي كيفية تشفير ملف PDF باستخدام C++.
For complete examples and data files, please go to https://github.com/aspose-pdf/Aspose.Pdf-for-C
// قم بتحميل مستند PDF موجود
auto doc = MakeObject<Document>(L"..\\Data\\SecurityAndSignatures\\input.pdf");
// الطريقة 1: استخدام الامتياز المحدد مسبقًا مباشرةً.
System::SharedPtr<Aspose::Pdf::Facades::DocumentPrivilege> privilege = Aspose::Pdf::Facades::DocumentPrivilege::get_Print();
doc->Encrypt(L"user", L"owner", privilege, CryptoAlgorithm::AESx128, false);
doc->Save(L"..\\Data\\SecurityAndSignatures\\SetPrivelegesWay1_out.pdf");
// Way2: استنادًا إلى امتياز محدد مسبقًا وتغيير بعض الأذونات المحددة.
System::SharedPtr<Aspose::Pdf::Facades::DocumentPrivilege> privilege2 = Aspose::Pdf::Facades::DocumentPrivilege::get_AllowAll();
privilege->set_AllowPrint(false);
privilege->set_AllowModifyContents(false);
doc->Encrypt(L"user", L"owner", privilege2, CryptoAlgorithm::AESx128, false);
doc->Save(L"..\\Data\\SecurityAndSignatures\\SetPrivelegesWay2_out.pdf");
// Way3: استنادًا إلى امتياز محدد مسبقًا وتغيير بعض مجموعات أذونات Adobe Professional المحددة.
System::SharedPtr<Aspose::Pdf::Facades::DocumentPrivilege> privilege3 = Aspose::Pdf::Facades::DocumentPrivilege::get_ForbidAll();
privilege->set_ChangeAllowLevel(1);
privilege->set_PrintAllowLevel(2);
doc->Encrypt(L"user", L"owner", privilege3, CryptoAlgorithm::AESx128, false);
doc->Save(L"..\\Data\\SecurityAndSignatures\\SetPrivelegesWay3_out.pdf");
// Way4: تمزج way2 و way3
System::SharedPtr<Aspose::Pdf::Facades::DocumentPrivilege> privilege4 = Aspose::Pdf::Facades::DocumentPrivilege::get_ForbidAll();
privilege->set_ChangeAllowLevel(1);
privilege->set_AllowPrint(true);
doc->Encrypt(L"user", L"owner", privilege4, CryptoAlgorithm::AESx128, false);
doc->Save(L"..\\Data\\SecurityAndSignatures\\SetPrivelegesWay4_out.pdf");
فك تشفير ملفات PDF باستخدام C++
فيما يلي خطوات فك تشفير ملف PDF باستخدام Aspose.PDF لـ C++.
- قم بتحميل ملف PDF باستخدام فئة Document وقم بتوفير مسار المستند وكلمة المرور.
- فك تشفير الملف باستخدام طريقة Document-> Decrypt().
- احفظ ملف PDF الذي تم فك تشفيره باستخدام طريقة Document-> Save(String).
يوضح نموذج التعليمات البرمجية التالي كيفية فك تشفير ملف PDF باستخدام C++.
For complete examples and data files, please go to https://github.com/aspose-pdf/Aspose.Pdf-for-C
// قم بتحميل مستند PDF موجود
auto doc = MakeObject<Document>(L"..\\Data\\SecurityAndSignatures\\Decrypt.pdf", L"password");
// فك تشفير PDF
doc->Decrypt();
// احفظ المستند المحدث
doc->Save(L"..\\Data\\SecurityAndSignatures\\Decrypt_out.pdf");
استنتاج
في هذه المقالة ، تعلمت كيفية تشفير أو فك تشفير ملفات PDF باستخدام C++. أظهر نموذج التعليمات البرمجية أيضًا كيفية تعيين امتيازات مختلفة عند تشفير ملف PDF. يمكنك استكشاف المزيد حول C++ PDF API باستخدام التوثيق.