Ottenere le callback di avviso per la sostituzione dei caratteri
Contents
[
Hide
]
Introduzione
Aspose.Slides per C++ consente di ricevere callback di avviso per la sostituzione dei caratteri quando un carattere richiesto non è disponibile sulla macchina durante il rendering. Queste callback aiutano a diagnosticare problemi con caratteri mancanti o inaccessibili.
Abilitare le Callback di Avviso
Aspose.Slides per C++ fornisce API semplici per ricevere callback di avviso durante il rendering delle diapositive di presentazione. Segui questi passaggi per configurare le callback di avviso:
- Crea una classe di callback personalizzata che implementa l’interfaccia IWarningCallback per gestire gli avvisi.
- Imposta la callback di avviso utilizzando classi di opzioni come RenderingOptions, PdfOptions, HtmlOptions e altre.
- Carica una presentazione che utilizza un carattere non disponibile sulla macchina di destinazione.
- Genera una miniatura della diapositiva o esporta la presentazione per osservare l’effetto.
Classe di Callback di Avviso Personalizzata:
#include <Warnings/IWarningCallback.h>
class FontWarningHandler : public IWarningCallback
{
public:
ReturnAction Warning(SharedPtr<IWarningInfo> warning) override;
};
ReturnAction FontWarningHandler::Warning(SharedPtr<IWarningInfo> warning)
{
if (warning->get_WarningType() == WarningType::DataLoss)
{
Console::WriteLine(warning->get_Description());
}
return ReturnAction::Continue;
}
// Esempio di output:
//
// Il carattere verrà sostituito da XYZ a {Calibri,Cambria Math,MS Gothic,Gulim,Arial Unicode,SimSun,Segoe UI Symbol}}
Genera una Miniatura della Diapositiva:
// Configura una callback di avviso per gestire gli avvisi relativi ai caratteri durante il rendering delle diapositive.
auto options = MakeObject<RenderingOptions>();
options->set_WarningCallback(MakeObject<FontWarningHandler>());
// Carica la presentazione dal percorso file specificato.
auto presentation = MakeObject<Presentation>(u"sample.pptx");
// Genera un'immagine in miniatura per ogni diapositiva nella presentazione.
for(auto&& slide : presentation->get_Slides())
{
// Ottieni l'immagine in miniatura della diapositiva utilizzando le opzioni di rendering specificate.
auto image = slide->GetImage(options);
// ...
image->Dispose();
}
presentation->Dispose();
Esporta in Formato PDF:
// Configura una callback di avviso per gestire gli avvisi relativi ai caratteri durante l'esportazione PDF.
auto options = MakeObject<PdfOptions>();
options->set_WarningCallback(MakeObject<FontWarningHandler>());
// Carica la presentazione dal percorso file specificato.
auto presentation = MakeObject<Presentation>(u"sample.pptx");
// Esporta la presentazione come PDF.
auto stream = MakeObject<MemoryStream>();
presentation->Save(stream, SaveFormat::Pdf, options);
// ...
stream->Dispose();
presentation->Dispose();
Esporta in Formato HTML:
// Configura una callback di avviso per gestire gli avvisi relativi ai caratteri durante l'esportazione HTML.
auto options = MakeObject<HtmlOptions>();
options->set_WarningCallback(MakeObject<FontWarningHandler>());
// Carica la presentazione dal percorso file specificato.
auto presentation = MakeObject<Presentation>(u"sample.pptx");
// Esporta la presentazione nel formato HTML.
auto stream = MakeObject<MemoryStream>();
presentation->Save(stream, SaveFormat::Html, options);
// ...
stream->Dispose();
presentation->Dispose();