// 读取字体文件
std::ifstream fontFile("Chinese.ttf", std::ios::binary | std::ios::ate);
std::streamsize streamsize = fontFile.tellg();
fontFile.seekg(0, std::ios::beg);
std::vector<uint8_t> fontData(streamsize);
if (!fontFile.read(reinterpret_cast<char*>(fontData.data()), streamsize)) {
return -1;
}
// 加载字体
FPDF_FONT font = FPDFText_LoadFont(p_reader->p_reader_->RawDoc(), fontData.data(), fontData.size(), FPDF_FONT_TRUETYPE, true);
if (font == nullptr) {
return -1;
}
// 创建文本对象
FPDF_PAGEOBJECT text_object3 = FPDFPageObj_CreateTextObj(p_reader->p_reader_->RawDoc(), font, 12.0f);
FPDFText_SetText(text_object3, FPDF_WIDESTRING(rect_type2));
FPDFPageObj_SetFillColor(text_object3, 0, 0, 255, 150);
FPDFPageObj_Transform(text_object3, 1, 0, 0, 1, 200, 600);
FPDFPage_InsertObject(p_page, text_object3);
The above code cannot add Chinese text