الحصول على التحذيرات بشأن استبدال الخط أثناء عرض ملف إكسل باستخدام C++
للحصول على تحذيرات استبدال الخط عند تحويل ملفات Excel إلى PDF، قم بتنفيذ واجهة IWarningCallback
واضبط الخاصية PdfSaveOptions.WarningCallback
بواجهتك المنفذة.
تظهر اللقطة الشاشية أدناه ملف Excel مصدري سنستخدمه في الكود التالي. يحتوي على بعض النص في الخلايا A6 وA7 بخطوط لا تتميز بالتقديم الجيد بواسطة Microsoft Excel.
لا تتم تقديم جميع الخطوط بشكل صحيح |
---|
![]() |
ستقوم Aspose.Cells بتعويض الخطوط في الخلايا A6 و A7 بخطوط مناسبة كما يظهر أدناه.
خطوط مستبدلة |
---|
![]() |
تحميل ملف المصدر وملف PDF الناتج
يمكنك تنزيل ملف Excel المصدر وملف PDF الناتج من الروابط التالية:
الكود
الكود التالي ينفذ IWarningCallback
ويضبط الخاصية PdfSaveOptions.WarningCallback
بواجهة التنفيذ. الآن، كلما تم استبدال أي خط في أي خلية، ستقوم Aspose.Cells بإطلاق تحذير داخل طريقة WarningCallback.Warning()
.
#include <iostream>
#include "Aspose.Cells.h"
using namespace Aspose::Cells;
class GetWarningsForFontSubstitution : public IWarningCallback
{
public:
void Warning(WarningInfo& info) override
{
if (info.GetType() == ExceptionType::FontSubstitution)
{
std::cout << "WARNING INFO: " << info.GetDescription().ToUtf8() << std::endl;
}
}
static void Run()
{
U16String srcDir(u"..\\Data\\01_SourceDirectory\\");
U16String outDir(u"..\\Data\\02_OutputDirectory\\");
Workbook workbook(srcDir + u"source.xlsx");
PdfSaveOptions options;
auto callback = std::make_shared<GetWarningsForFontSubstitution>();
options.SetWarningCallback(callback.get());
workbook.Save(outDir + u"output_out.pdf", options);
std::cout << "PDF saved successfully with font substitution warnings!" << std::endl;
}
};
int main()
{
Aspose::Cells::Startup();
GetWarningsForFontSubstitution::Run();
Aspose::Cells::Cleanup();
return 0;
}
الناتج
بعد تحويل ملف Excel الأصلي إلى PDF، يتم إخراج التحذيرات إلى وحدة التحكم في التصحيح كالتالي:
WARNING INFO: Font substitution: Font [ Athene Logos; Regular ] has been substituted in Cell [ A6 ] in Sheet [ Sheet1 ].
WARNING INFO: Font substitution: Font [ B Traffic; Regular ] has been substituted in Cell [ A7 ] in Sheet [ Sheet1 ].
Workbook.CalculateFormula
قبل عرض الجدول بصيغة PDF. القيام بذلك سيضمن إعادة حساب القيم المعتمدة على الصيغة، ويتم عرض القيم الصحيحة في PDF.