הצפין פענוח pdf C++

הצפנת 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 באמצעות 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 באמצעות 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 באמצעות תיעוד.

ראה גם