首页 > 解决方案 > 在 libharu 中使用 utf-8 时必须嵌入字体吗?

问题描述

是的,我还要问另一个问题。我只想用俄语文本生成一个 pdf,我发现 libharu-RELEASE_2_3_0 可以帮助我。通过代码:

    HPDF_UseUTFEncodings(pdf);
HPDF_SetCurrentEncoder(pdf,"UTF-8");
detail_font_name = HPDF_LoadTTFontFromFile (pdf, "ttfont/arial.ttf", HPDF_TRUE);
/* add a new page object. */
page = HPDF_AddPage (pdf);
detail_font = HPDF_GetFont (pdf, detail_font_name, "UTF-8");
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, "Об были вероломно программном чем");

它对我有用,但它将字体嵌入到pdf中。所以pdf尺寸太大,我想知道如何在不嵌入字体的情况下生成pdf。

如果我不能使用 utf-8 ,我怎样才能获得带有俄文文本的 pdf。这里有俄罗斯朋友吗?

这是同样的问题,但 在 libharu 中没有得到答案 utf8:嵌入字体真的有必要吗?

标签: cpdfutf-8libharu

解决方案


“我想知道如何在不嵌入字体的情况下生成pdf。”

  • detail_font_name = HPDF_LoadTTFontFromFile (pdf, "ttfont/arial.ttf", HPDF_FALSE); 而已。

如果您不想使用 UTF8,那么您应该知道文本的编码,例如,如果您在源代码中硬编码,Visual Studio 很可能会将它们编码为 UTF8,那么您必须使用 UTF-8 .

如果动态加载文本,则应为文本指定正确的编码名称。


推荐阅读