我想得到一个带有俄罗斯文本的 pdf。VS2010 使用 libharu
我的源代码文件被编码为 Cyrillic(ISO) 使用此代码设置字体和编码
detail_font = HPDF_GetFont(pdf, "Times-Roman", "ISO8859-5");
完整代码:
int main (int argc, char **argv)
{
HPDF_Doc pdf;
char fname[256];
HPDF_Page page;
HPDF_Font title_font;
HPDF_Font detail_font;
HPDF_UINT page_height = 400;
HPDF_UINT page_width = 400;
const char *detail_font_name;
strcpy (fname, "encoding");
strcat (fname, ".pdf");
pdf = HPDF_New (error_handler, NULL);
if (!pdf) {
printf ("error: cannot create PdfDoc object\n");
return 1;
}
if (setjmp(env)) {
HPDF_Free (pdf);
return 1;
}
page = HPDF_AddPage (pdf);
detail_font = HPDF_GetFont(pdf, "Times-Roman", "ISO8859-5");
HPDF_Page_BeginText (page);
/* move the position of the text to top of the page. */
HPDF_Page_MoveTextPos(page, 10, 280);
HPDF_Page_SetFontAndSize (page, detail_font, 16);
HPDF_Page_MoveTextPos (page, 0, -20);
HPDF_Page_ShowText(page,"регистратор температуры ");
HPDF_Page_SetWidth (page, page_width);
HPDF_Page_SetHeight (page, page_height);
/* finish to print text. */
HPDF_Page_EndText (page);
HPDF_SaveToFile (pdf, fname);
/* clean up */
HPDF_Free (pdf);
return 0;
}
我收到带有俄文文本的异常 pdf。
如何解决这个问题?我的源文件编码不可用?我可以通过 utf-8 编码获得带有俄语文本的普通 pdf,但字体嵌入在我的 PDF 中,所以我不能选择 utf-8。