Microsoft PowerPoint是功能强大且功能丰富的软件,可让您创建令人惊叹的幻灯片以用于会议和讨论。在演示文稿包含要保护的机密信息的情况下,用密码保护演示文件可能会有所帮助。另一方面,如果想将演示文稿标记为最终演示并且不希望修改其内容,则可以对演示文稿文件进行数字签名。只要签名有效,就可以确信演示文件没有被更改。有鉴于此,本文将教您如何使用C ++通过密码或数字签名保护PowerPoint演示文稿。
- 使用密码保护PowerPoint文件
- 用数字签名保护PowerPoint文件
- 使用C ++验证经过数字签名的PowerPoint文件
Aspose.Slides for C ++是功能丰富的C ++库,可用于创建,读取和修改PowerPoint文件。此外,API支持使用密码和数字签名保护PowerPoint文件。
>>你可以获取Aspose.Slides 最新版测试体验。
使用密码保护PowerPoint文件
以下是使用密码保护PowerPoint演示文稿的步骤。
- 首先,使用Presentation 类加载PowerPoint文件 。
- 使用Presentation-> get_ProtectionManager()-> Encrypt(System :: String encryptionPassword)方法用密码对演示文稿进行加密。
- 最后,使用Presentation->Save (System::String name, Export::SaveFormat format)方法保存受保护的演示文稿。
以下是使用C ++用密码保护PowerPoint演示文稿的示例代码。
// File paths const String sourceFilePath = u"SourceDirectory\\SamplePresentation.pptx"; const String outputFilePath = u"OutputDirectory\\protected-presentation.pptx"; // Load the presentation file SharedPtrpresentation = MakeObject(sourceFilePath); // Protect presentation with password presentation->get_ProtectionManager()->Encrypt(u"password"); // Save the presentation presentation->Save(outputFilePath, SaveFormat::Pptx);
用数字签名保护PowerPoint文件
以下是使用数字签名保护PowerPoint演示文稿的步骤。
- 首先,使用Presentation 类加载PowerPoint演示 文稿。
- 使用证书文件和密码创建DigitalSignature类的对象。
- 使用DigitalSignature-> set_Comments(System :: String值)方法添加注释。
- 使用Presentation-> get_DigitalSignatures()-> Add(System :: SharedPtrdigitalSignature)方法将数字签名添加到演示文稿中。
- 最后,使用Presentation-> Save(系统::字符串名称,导出:: SaveFormat格式) 方法保存签名的演示 文稿。
以下是使用C ++使用数字签名保护PowerPoint文件的示例代码。
// File paths const String sourceFilePath = u"SourceDirectory\\SamplePresentation.pptx"; const String signatureFilePath = u"SourceDirectory\\testsignature1.pfx"; const String outputFilePath = u"OutputDirectory\\digital-signature-presentation.pptx"; // Load the presentation file SharedPtrpresentation = MakeObject(sourceFilePath); // Create DigitalSignature object with PFX file and password SharedPtrsignature = MakeObject(signatureFilePath, u"testpass1"); // Add comment signature->set_Comments(u"Test Comments"); // Add digital signature to presentation presentation->get_DigitalSignatures()->Add(signature); // Save the presentation presentation->Save(outputFilePath, SaveFormat::Pptx);
使用C ++验证经过数字签名的PowerPoint文件
Aspose.Slides for C ++ API还为您提供了验证经过数字签名的PowerPoint文件的功能。以下是验证PowerPoint文件的数字签名的步骤。
- 使用Presentation 类加载PowerPoint演示 文稿。
- 使用Presentation-> get_DigitalSignatures()-> get_Count()方法检查数字签名是否存在。
- 如果演示文稿包含数字签名,请遍历它们。
- 在循环中,使用Presentation-> get_DigitalSignatures()-> idx_get(int32_t索引)方法访问每个数字签名。
- 使用DigitalSignature-> get_IsValid()方法检查数字签名的有效性,该方法对有效签名返回true。
以下是用于使用C ++验证PowerPoint文件的数字签名的示例代码。
// File path const String sourceFilePath = u"SourceDirectory\\digital-signature-presentation.pptx"; // Load the presentation file SharedPtrpresentation = MakeObject(sourceFilePath); // Check if presentation has digital signatures if (presentation->get_DigitalSignatures()->get_Count() > 0) { bool allSignaturesAreValid = true; Console::WriteLine(u"Signatures used to sign the presentation: "); // Verify digital signatures for (int i = 0; i < presentation->get_DigitalSignatures()->get_Count(); i++) { SharedPtrsignature = presentation->get_DigitalSignatures()->idx_get(i); Console::WriteLine(System::Convert::ToString(signature->get_SignTime()) + u" -- " + (signature->get_IsValid() ? u"VALID" : u"INVALID")); if (signature->get_IsValid() == false) { allSignaturesAreValid = false; } } if (allSignaturesAreValid) { Console::WriteLine(u"Presentation is genuine, all signatures are valid."); } else { Console::WriteLine(u"Presentation has been modified since signing."); } }
如果您有任何疑问或需求,请随时加入Aspose技术交流群(761297826),我们很高兴为您提供查询和咨询。