Метод Aspose::Words::FileFormatInfo::get_LoadFormat
Содержание
[
Скрывать
]FileFormatInfo::get_LoadFormat method
Получает обнаруженный формат документа.
Aspose::Words::LoadFormat Aspose::Words::FileFormatInfo::get_LoadFormat() const
Примечания
Когда OOXML‑документ зашифрован, невозможно определить, является ли он документом Excel, Word или PowerPoint, не расшифровав его сначала, поэтому для зашифрованного OOXML‑документа это свойство всегда будет возвращать Docx.
Примеры
Показывает, как использовать класс FileFormatUtil для определения формата документа и шифрования.
auto doc = System::MakeObject<Aspose::Words::Document>();
// Настройте объект SaveOptions для шифрования документа
// с паролем при сохранении, а затем сохраните документ.
auto saveOptions = System::MakeObject<Aspose::Words::Saving::OdtSaveOptions>(Aspose::Words::SaveFormat::Odt);
saveOptions->set_Password(u"MyPassword");
doc->Save(get_ArtifactsDir() + u"File.DetectDocumentEncryption.odt", saveOptions);
// Проверьте тип файла нашего документа и его статус шифрования.
System::SharedPtr<Aspose::Words::FileFormatInfo> info = Aspose::Words::FileFormatUtil::DetectFileFormat(get_ArtifactsDir() + u"File.DetectDocumentEncryption.odt");
ASSERT_EQ(u".odt", Aspose::Words::FileFormatUtil::LoadFormatToExtension(info->get_LoadFormat()));
ASSERT_TRUE(info->get_IsEncrypted());
Показывает, как использовать класс FileFormatUtil для определения формата документа и наличия цифровых подписей.
// Используйте экземпляр FileFormatInfo, чтобы проверить, что документ не имеет цифровой подписи.
System::SharedPtr<Aspose::Words::FileFormatInfo> info = Aspose::Words::FileFormatUtil::DetectFileFormat(get_MyDir() + u"Document.docx");
ASSERT_EQ(u".docx", Aspose::Words::FileFormatUtil::LoadFormatToExtension(info->get_LoadFormat()));
ASSERT_FALSE(info->get_HasDigitalSignature());
System::SharedPtr<Aspose::Words::DigitalSignatures::CertificateHolder> certificateHolder = Aspose::Words::DigitalSignatures::CertificateHolder::Create(get_MyDir() + u"morzal.pfx", u"aw", nullptr);
auto signOptions = System::MakeObject<Aspose::Words::DigitalSignatures::SignOptions>();
signOptions->set_SignTime(System::DateTime::get_Now());
Aspose::Words::DigitalSignatures::DigitalSignatureUtil::Sign(get_MyDir() + u"Document.docx", get_ArtifactsDir() + u"File.DetectDigitalSignatures.docx", certificateHolder, signOptions);
// Используйте новый FileFormatInstance, чтобы подтвердить, что он подписан.
info = Aspose::Words::FileFormatUtil::DetectFileFormat(get_ArtifactsDir() + u"File.DetectDigitalSignatures.docx");
ASSERT_TRUE(info->get_HasDigitalSignature());
// Мы можем загрузить и получить доступ к подписям подписанного документа в коллекции, как показано ниже.
ASSERT_EQ(1, Aspose::Words::DigitalSignatures::DigitalSignatureUtil::LoadSignatures(get_ArtifactsDir() + u"File.DetectDigitalSignatures.docx")->get_Count());
Показывает, как использовать методы FileFormatUtil для определения формата документа.
// Загрузите документ из файла без расширения и затем определите его формат.
{
System::SharedPtr<System::IO::FileStream> docStream = System::IO::File::OpenRead(get_MyDir() + u"Word document with missing file extension");
System::SharedPtr<Aspose::Words::FileFormatInfo> info = Aspose::Words::FileFormatUtil::DetectFileFormat(docStream);
Aspose::Words::LoadFormat loadFormat = info->get_LoadFormat();
ASSERT_EQ(Aspose::Words::LoadFormat::Doc, loadFormat);
// Ниже представлены два метода преобразования LoadFormat в соответствующий SaveFormat.
// 1 - Получите строку расширения файла для LoadFormat, затем получите соответствующий SaveFormat из этой строки:
System::String fileExtension = Aspose::Words::FileFormatUtil::LoadFormatToExtension(loadFormat);
Aspose::Words::SaveFormat saveFormat = Aspose::Words::FileFormatUtil::ExtensionToSaveFormat(fileExtension);
// 2 - Преобразуйте LoadFormat напрямую в его SaveFormat:
saveFormat = Aspose::Words::FileFormatUtil::LoadFormatToSaveFormat(loadFormat);
// Загрузите документ из потока и затем сохраните его с автоматически определённым расширением файла.
auto doc = System::MakeObject<Aspose::Words::Document>(docStream);
ASSERT_EQ(u".doc", Aspose::Words::FileFormatUtil::SaveFormatToExtension(saveFormat));
doc->Save(get_ArtifactsDir() + u"File.SaveToDetectedFileFormat" + Aspose::Words::FileFormatUtil::SaveFormatToExtension(saveFormat));
}
См. также
- Enum LoadFormat
- Class FileFormatInfo
- Namespace Aspose::Words
- Library Aspose.Words for C++