Aspose::Words::WarningSource enum

WarningSource enum

Указывает модуль, который генерирует предупреждение при загрузке или сохранении документа.

enum class WarningSource

Значения

ИмяЗначениеОписание
Неизвестно0Источник предупреждения не указан.
Макет1Модуль, который формирует макет документа.
DrawingML2Модуль, который отображает фигуры DrawingML.
OfficeMath3Модуль, который отображает OfficeMath.
Shapes4Модуль, который отображает обычные фигуры.
Metafile5Модуль, который отображает метафайлы.
Xps6Модуль, который отображает XPS.
Pdf7Модуль, который отображает PDF.
Image8Модуль, который отображает изображения.
Docx9Модуль, который читает/записывает файлы DOCX.
Doc10Модуль, который читает/записывает двоичные файлы DOC.
Text11Модуль, который читает/записывает обычные текстовые файлы.
Rtf12Модуль, который читает/записывает файлы RTF.
WordML13Модуль, который читает/записывает файлы WML.
Nrx14Общие модули, которые используются совместно между модулями чтения/записи DOCX и WML.
Odt15Модуль, который читает/записывает файлы ODT.
Html16Модуль, который читает/записывает файлы HTML/MHTML.
Validator17Модуль, проверяющий согласованность и корректность модели.
Xaml18Модуль, читающий/записывающий файлы Xaml.
Svm19Модуль, читающий файлы Svm.
MathML20Модуль, читающий файлы W3C MathML.
Font21Модуль, читающий файлы шрифтов.
Svg22Модуль, читающий файлы SVG.
Markdown23Модуль, читающий/записывающий файлы Markdown.
Chm24Модуль, читающий файлы CHM.
Epub25Модуль, читающий/записывающий файлы EPUB.
Xml26Модуль, читающий файлы XML.
Xlsx27Модуль, записывающий файлы XLSX.
Docling28Модуль, записывающий файлы Docling JSON.

Примеры

Показывает, как работать с источником предупреждений.

auto doc = System::MakeObject<Aspose::Words::Document>(get_MyDir() + u"Emphases markdown warning.docx");

auto warnings = System::MakeObject<Aspose::Words::WarningInfoCollection>();
doc->set_WarningCallback(warnings);
doc->Save(get_ArtifactsDir() + u"DocumentBuilder.EmphasesWarningSourceMarkdown.md");

for (auto&& warningInfo : warnings)
{
    if (warningInfo->get_Source() == Aspose::Words::WarningSource::Markdown)
    {
        ASSERT_EQ(u"The (*, 0:11) cannot be properly written into Markdown.", warningInfo->get_Description());
    }
}

Показывает, как получить дополнительную информацию о замене шрифта.

auto doc = System::MakeObject<Aspose::Words::Document>(get_MyDir() + u"Rendering.docx");

auto callback = System::MakeObject<Aspose::Words::WarningInfoCollection>();
doc->set_WarningCallback(callback);

auto fontSettings = System::MakeObject<Aspose::Words::Fonts::FontSettings>();
fontSettings->get_SubstitutionSettings()->get_DefaultFontSubstitution()->set_DefaultFontName(u"Arial");
fontSettings->SetFontsFolder(get_FontsDir(), false);
fontSettings->get_SubstitutionSettings()->get_TableSubstitution()->AddSubstitutes(u"Arial", System::MakeArray<System::String>({u"Arvo", u"Slab"}));

doc->set_FontSettings(fontSettings);
doc->Save(get_ArtifactsDir() + u"FontSettings.SubstitutionWarnings.pdf");

auto warningInfo = System::ExplicitCast<Aspose::Words::FontSubstitutionWarningInfo>(callback->idx_get(0));
ASSERT_EQ(Aspose::Words::WarningSource::Layout, warningInfo->get_Source());
ASSERT_EQ(Aspose::Words::WarningType::FontSubstitution, warningInfo->get_WarningType());
ASSERT_EQ(Aspose::Words::FontSubstitutionReason::TableSubstitutionRule, warningInfo->get_Reason());
ASSERT_EQ(u"Font \'Arial\' has not been found. Using \'Arvo\' font instead. Reason: table substitution.", warningInfo->get_Description());
ASSERT_TRUE(warningInfo->get_RequestedBold());
ASSERT_FALSE(warningInfo->get_RequestedItalic());
ASSERT_EQ(u"Arial", warningInfo->get_RequestedFamilyName());

См. также