הצפנת PDF היא תהליך של הגנה על המסמך באמצעות סיסמה וכן כמה אלגוריתמים קריפטוגרפיים כולל AES או RC4. אתה יכול גם להגדיר הרשאות שונות כדי להגביל את גישת המשתמש לפעולות שונות. לדוגמה, ניתן לאפשר רק הדפסה, הוספת הערות, מילוי טפסים וכו’. במאמר זה תלמדו כיצד להצפין קבצי PDF באמצעות C++. יתר על כן, מאמר זה מכסה גם כיצד להגדיר הרשאות שונות ולפענח קבצי PDF המוגנים בסיסמה באמצעות C++.
C++ API להצפנה או פענוח של קבצי PDF
Aspose.PDF for C++ הוא API מקורי של C++ המאפשר לך ליצור, לקרוא ולתפעל מסמכי PDF. בנוסף, הוא גם מאפשר לך להצפין קובצי PDF עם סיסמאות ולפענח את קובצי ה-PDF המוצפנים תוך מספר שורות קוד. אתה יכול להוריד את ה-API מהקטע הורדות או להתקין אותו באמצעות NuGet.
הצפנת קבצי PDF באמצעות C++
להלן השלבים להצפנת קובץ PDF באמצעות Aspose.PDF עבור C++.
- טען את מסמך ה-PDF באמצעות מחלקה מסמך.
- השתמש במחלקה DocumentPrivilege כדי להגדיר הרשאות שונות כגון לאפשר הדפסה, לאפשר שינוי תוכן וכו'.
- התקשר אל Document.Encrypt(String, String, SharedPtr , CryptoAlgorithm, bool) שיטה להצפנת ה-PDF.
- שמור את ה-PDF בשיטת מסמך->שמור(מחרוזת).
דוגמת הקוד הבאה מראה כיצד להצפין קובץ 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");
// דרך 2: מבוסס על הרשאה מוגדרת מראש ושנה כמה הרשאות ספציפיות.
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");
// דרך 3: מבוסס על הרשאה מוגדרת מראש ושינוי שילוב הרשאות ספציפי של 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 המפוענח בשיטת מסמך->שמור(מחרוזת).
דוגמת הקוד הבאה מראה כיצד לפענח 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 באמצעות תיעוד.