Защитите файлы PowerPoint с помощью C++

Microsoft PowerPoint — это мощное и многофункциональное программное обеспечение, которое позволяет создавать потрясающие слайды для использования на собраниях и дискуссиях. Вы можете оказаться в ситуации, когда ваша презентация содержит конфиденциальную информацию, которую вы хотите защитить. В таких случаях может оказаться полезным защитить файл презентации паролем. С другой стороны, если вы хотите пометить презентацию как окончательную и не хотите, чтобы ее содержимое изменялось, вы можете подписать файл презентации цифровой подписью. Пока подпись действительна, вы можете быть уверены, что файл презентации не был изменен. В свете этого в этой статье вы узнаете, как защитить презентации PowerPoint с помощью пароля или цифровой подписи с помощью C++.

C++ API для защиты файлов PowerPoint

Aspose.Slides for C++ — это многофункциональная библиотека C++, позволяющая создавать, читать и изменять файлы PowerPoint. Кроме того, API поддерживает защиту файлов PowerPoint с помощью паролей и цифровых подписей. Вы можете либо установить API через NuGet, либо загрузить его напрямую из раздела Загрузки.

PM> Install-Package Aspose.Slides.Cpp

Защитите файлы PowerPoint паролем

Ниже приведены шаги для защиты презентаций PowerPoint с помощью пароля.

Ниже приведен пример кода для защиты презентации PowerPoint паролем с помощью C++.

// Пути к файлам
const String sourceFilePath = u"SourceDirectory\\SamplePresentation.pptx";
const String outputFilePath = u"OutputDirectory\\protected-presentation.pptx";

// Загрузите файл презентации
SharedPtr<Presentation> presentation = MakeObject<Presentation>(sourceFilePath);

// Защитить презентацию паролем
presentation->get_ProtectionManager()->Encrypt(u"password");

// Сохранить презентацию
presentation->Save(outputFilePath, SaveFormat::Pptx);

Защита файлов PowerPoint с помощью цифровой подписи

Ниже приведены шаги для защиты презентаций PowerPoint с помощью цифровой подписи.

Ниже приведен пример кода для защиты файлов PowerPoint с помощью цифровой подписи с использованием C++.

// Пути к файлам
const String sourceFilePath = u"SourceDirectory\\SamplePresentation.pptx";
const String signatureFilePath = u"SourceDirectory\\testsignature1.pfx";
const String outputFilePath = u"OutputDirectory\\digital-signature-presentation.pptx";

// Загрузите файл презентации
SharedPtr<Presentation> presentation = MakeObject<Presentation>(sourceFilePath);

// Создайте объект DigitalSignature с файлом PFX и паролем
SharedPtr<DigitalSignature> signature = MakeObject<DigitalSignature>(signatureFilePath, u"testpass1");

// Добавить комментарий
signature->set_Comments(u"Test Comments");

// Добавить цифровую подпись в презентацию
presentation->get_DigitalSignatures()->Add(signature);

// Сохранить презентацию
presentation->Save(outputFilePath, SaveFormat::Pptx);

Проверка файлов PowerPoint с цифровой подписью с помощью C++

Aspose.Slides for C++ API также предоставляет вам возможность проверять файлы PowerPoint с цифровой подписью. Ниже приведены шаги для проверки цифровой подписи файла PowerPoint.

  • Загрузите презентацию PowerPoint с помощью класса Presentation.
  • Проверить наличие цифровых подписей методом Presentation->getDigitalSignatures()->getCount().
  • Если презентация содержит цифровые подписи, прокрутите их.
  • В цикле получите доступ к каждой цифровой подписи, используя метод Presentation->getDigitalSignatures()->idxget (int32t index).
  • Проверьте действительность цифровой подписи с помощью метода DigitalSignature->getIsValid(), который возвращает true для действительных подписей.

Ниже приведен пример кода для проверки цифровой подписи файла PowerPoint с помощью C++.

// Путь к файлу
const String sourceFilePath = u"SourceDirectory\\digital-signature-presentation.pptx";

// Загрузите файл презентации
SharedPtr<Presentation> presentation = MakeObject<Presentation>(sourceFilePath);

// Проверить, есть ли у презентации цифровые подписи
if (presentation->get_DigitalSignatures()->get_Count() > 0)
{
	bool allSignaturesAreValid = true;

	Console::WriteLine(u"Signatures used to sign the presentation: ");

	// Проверяйте цифровые подписи
	for (int i = 0; i < presentation->get_DigitalSignatures()->get_Count(); i++)
	{
		SharedPtr<IDigitalSignature> signature = 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.");
	}
}

Получить бесплатную лицензию

Вы можете попробовать API без ограничений по ознакомительной версии, запросив бесплатную временную лицензию.

Вывод

В этой статье вы узнали, как защитить презентации PowerPoint с помощью пароля и цифровой подписи с помощью C++. Кроме того, вы узнали, как проверить целостность файлов презентации, проверив их цифровую подпись. Aspose.Slides for C++ API имеет гораздо больше функций, которые упрощают работу с файлами презентаций. Вы можете подробно изучить API, используя официальную документацию. Если у вас возникнут вопросы, свяжитесь с нами на бесплатном форуме поддержки.

Смотрите также