Следующий код создает файл PDF, содержащий два слова, и сохраняет его:
#include "hpdf.h"#include <iostream>
void error_handler (HPDF_STATUS error_no, HPDF_STATUS detail_no, void *user_data) {
std::cerr << "error! " << error_no << " " << detail_no << '\n';
throw std::exception();
}
int main() {
HPDF_Doc pdf = HPDF_New (error_handler, NULL);
if (!pdf) {
std::cerr << "Error: Cannot create pdf object" << '\n';
return 1;
}
try {
HPDF_Page page = HPDF_AddPage(pdf);
HPDF_Page_BeginText (page);
HPDF_Page_TextOut (page, 0,0,"sample text");
HPDF_Page_EndText(page);
HPDF_SaveToFile (pdf, "test.pdf");
std::cout << "file save: " << '\n';
} catch (const std::exception& e) {
e.what();
HPDF_Free(pdf);
return 1;
}
HPDF_Free(pdf);
}
Когда эта строка:
HPDF_Page_TextOut (page, 0,0,"sample text");
выполнено, я получил:
error! 4174 0
Я не могу найти ничего о коде ошибки 4174 в документации libHaru, кто-нибудь может объяснить, что это значит?
Ваш обработчик ошибок выводит коды ошибок в десятичном виде, а документация перечисляет их как шестнадцатеричные.
4174 (десятичное число) равно 0x104e (шестнадцатеричное).
Этот код ошибки указан в документации по libharu как HPDF_PAGE_FONT_NOT_FOUND
,
Обратитесь к документации о том, как это исправить.