Dapatkan Panggilan Balik Peringatan untuk Substitusi Font
Contents
[
Hide
]
Pendahuluan
Aspose.Slides for C++ memungkinkan Anda menerima panggilan balik peringatan untuk substitusi font ketika font yang diperlukan tidak tersedia di mesin saat proses rendering. Panggilan balik ini membantu mendiagnosis masalah dengan font yang hilang atau tidak dapat diakses.
Mengaktifkan Panggilan Balik Peringatan
Aspose.Slides for C++ menyediakan API yang sederhana untuk menerima panggilan balik peringatan saat merender slide presentasi. Ikuti langkah-langkah berikut untuk mengonfigurasi panggilan balik peringatan:
- Buat kelas panggilan balik khusus yang mengimplementasikan antarmuka IWarningCallback untuk menangani peringatan.
- Atur panggilan balik peringatan menggunakan kelas opsi seperti RenderingOptions, PdfOptions, HtmlOptions, dan lainnya.
- Muat presentasi yang menggunakan font yang tidak tersedia di mesin target.
- Hasilkan thumbnail slide atau ekspor presentasi untuk mengamati efeknya.
Kelas Panggilan Balik Peringatan Kustom:
#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;
}
// Contoh output:
//
// Font akan digantikan dari XYZ ke {Calibri,Cambria Math,MS Gothic,Gulim,Arial Unicode,SimSun,Segoe UI Symbol}}
Hasilkan Thumbnail Slide:
// Siapkan panggilan balik peringatan untuk menangani peringatan terkait font selama rendering slide.
auto options = MakeObject<RenderingOptions>();
options->set_WarningCallback(MakeObject<FontWarningHandler>());
// Muat presentasi dari jalur file yang ditentukan.
auto presentation = MakeObject<Presentation>(u"sample.pptx");
// Hasilkan gambar thumbnail untuk setiap slide dalam presentasi.
for(auto&& slide : presentation->get_Slides())
{
// Dapatkan gambar thumbnail slide menggunakan opsi rendering yang ditentukan.
auto image = slide->GetImage(options);
// ...
image->Dispose();
}
presentation->Dispose();
Ekspor ke Format PDF:
// Siapkan panggilan balik peringatan untuk menangani peringatan terkait font selama ekspor PDF.
auto options = MakeObject<PdfOptions>();
options->set_WarningCallback(MakeObject<FontWarningHandler>());
// Muat presentasi dari jalur file yang ditentukan.
auto presentation = MakeObject<Presentation>(u"sample.pptx");
// Ekspor presentasi sebagai PDF.
auto stream = MakeObject<MemoryStream>();
presentation->Save(stream, SaveFormat::Pdf, options);
// ...
stream->Dispose();
presentation->Dispose();
Ekspor ke Format HTML:
// Siapkan panggilan balik peringatan untuk menangani peringatan terkait font selama ekspor HTML.
auto options = MakeObject<HtmlOptions>();
options->set_WarningCallback(MakeObject<FontWarningHandler>());
// Muat presentasi dari jalur file yang ditentukan.
auto presentation = MakeObject<Presentation>(u"sample.pptx");
// Ekspor presentasi dalam format HTML.
auto stream = MakeObject<MemoryStream>();
presentation->Save(stream, SaveFormat::Html, options);
// ...
stream->Dispose();
presentation->Dispose();