Aspose::Words::WarningInfoCollection class
Contents
[
Hide
]WarningInfoCollection class
Represents a typed collection of WarningInfo objects. To learn more, visit the Programming with Documents documentation article.
class WarningInfoCollection : public Aspose::Words::IWarningCallback,
public System::Collections::Generic::IEnumerable<System::SharedPtr<Aspose::Words::WarningInfo>>
Methods
Method | Description |
---|---|
begin() | |
begin() const | |
cbegin() const | |
cend() const | |
Clear() | Removes all elements from the collection. |
end() | |
end() const | |
get_Count() | Gets the number of elements contained in the collection. |
GetEnumerator() override | Returns an enumerator object that can be used to iterate over all items in the collection. |
GetType() const override | |
idx_get(int32_t) | Gets an item at the specified index. |
Is(const System::TypeInfo&) const override | |
static Type() | |
virtualizeBeginConstIterator() const override | |
virtualizeBeginIterator() override | |
virtualizeEndConstIterator() const override | |
virtualizeEndIterator() override | |
Warning(System::SharedPtr<Aspose::Words::WarningInfo>) override | Implements the IWarningCallback interface. Adds a warning to this collection. |
WarningInfoCollection() |
Typedefs
Typedef | Description |
---|---|
const_iterator | |
iterator | |
iterator_holder_type | |
virtualized_iterator | |
virtualized_iterator_element |
Remarks
You can use this collection object as the simplest form of IWarningCallback implementation to gather all warnings that Aspose.Words generates during a load or save operation. Create an instance of this class and assign it to the WarningCallback or WarningCallback property.
Examples
Shows how to set the property for finding the closest match for a missing font from the available font sources.
void EnableFontSubstitution()
{
// Open a document that contains text formatted with a font that does not exist in any of our font sources.
auto doc = MakeObject<Document>(MyDir + u"Missing font.docx");
// Assign a callback for handling font substitution warnings.
auto substitutionWarningHandler = MakeObject<ExFontSettings::HandleDocumentSubstitutionWarnings>();
doc->set_WarningCallback(substitutionWarningHandler);
// Set a default font name and enable font substitution.
auto fontSettings = MakeObject<FontSettings>();
fontSettings->get_SubstitutionSettings()->get_DefaultFontSubstitution()->set_DefaultFontName(u"Arial");
;
fontSettings->get_SubstitutionSettings()->get_FontInfoSubstitution()->set_Enabled(true);
// We will get a font substitution warning if we save a document with a missing font.
doc->set_FontSettings(fontSettings);
doc->Save(ArtifactsDir + u"FontSettings.EnableFontSubstitution.pdf");
{
SharedPtr<System::Collections::Generic::IEnumerator<SharedPtr<WarningInfo>>> warnings = substitutionWarningHandler->FontWarnings->GetEnumerator();
while (warnings->MoveNext())
{
std::cout << warnings->get_Current()->get_Description() << std::endl;
}
}
// We can also verify warnings in the collection and clear them.
ASSERT_EQ(WarningSource::Layout, substitutionWarningHandler->FontWarnings->idx_get(0)->get_Source());
ASSERT_EQ(u"Font '28 Days Later' has not been found. Using 'Calibri' font instead. Reason: alternative name from document.",
substitutionWarningHandler->FontWarnings->idx_get(0)->get_Description());
substitutionWarningHandler->FontWarnings->Clear();
ASSERT_EQ(0, substitutionWarningHandler->FontWarnings->get_Count());
}
class HandleDocumentSubstitutionWarnings : public IWarningCallback
{
public:
SharedPtr<WarningInfoCollection> FontWarnings;
void Warning(SharedPtr<WarningInfo> info) override
{
if (info->get_WarningType() == WarningType::FontSubstitution)
{
FontWarnings->Warning(info);
}
}
HandleDocumentSubstitutionWarnings() : FontWarnings(MakeObject<WarningInfoCollection>())
{
}
};
See Also
- Interface IWarningCallback
- Namespace Aspose::Words
- Library Aspose.Words for C++