gpt4 book ai didi

c - 使用 libharu 库在 pdf 中编码

转载 作者:太空宇宙 更新时间:2023-11-04 03:22:50 25 4
gpt4 key购买 nike

我正在尝试在 libharu library 的帮助下创建一个 pdf 文档版本 2.3。
除了编码,一切都很好。我需要插入中欧语言(捷克语)。源码保存为utf-8,在linux gcc下编译。
在函数 HPDF_GetFont() 中,我尝试了所有 single byte encodings以及支持 utf-8 的文件中的所有内置字体和字体。但这不是成功之道。

我应该在下面的代码中更改什么?我应该将文本“abcdÁéěňóšťíď”保存到 wchar_t*,然后以某种方式将其转换为单字节吗?
感谢您的建议。

void write_to_pdf(char *file_name)
{
HPDF_Doc pdf;
HPDF_Page page;
HPDF_Font font;

pdf = HPDF_New (NULL, NULL);
if (!pdf)
{
printf ("ERROR: cannot create pdf object.\n");
return false;
}

HPDF_UseUTFEncodings(pdf);

font = HPDF_GetFont(pdf, HPDF_LoadTTFontFromFile(pdf, "arial.ttf", HPDF_TRUE), "StandardEncoding");
page = HPDF_AddPage(pdf);
HPDF_Page_SetSize (page, HPDF_PAGE_SIZE_A4, HPDF_PAGE_PORTRAIT);
HPDF_Page_SetTextRenderingMode(page, HPDF_FILL);
HPDF_Page_SetRGBFill(page, 0.0, 0.0, 0.0);

HPDF_Page_SetFontAndSize(page, font, 11);
HPDF_Page_BeginText(page);
HPDF_Page_TextOut(page, 10, 20, "abcdÁéěňóšťíď");
HPDF_Page_EndText(page);

HPDF_SaveToFile (pdf, file_name);
HPDF_Free (pdf);
}

在 pdf 文件中,字符“Áéěňóšťíď”打印不正确。

最佳答案

我通过添加解决了问题:
HPDF_SetCurrentEncoder(pdf, "UTF-8")
和 UTF-8 到 fnc:
HPDF_GetFont(pdf, HPDF_LoadTTFontFromFile(pdf, "arial.ttf", HPDF_TRUE), "UTF-8")

我没有在文档中找到这个,但是 here .也许文档不是最新的。

关于c - 使用 libharu 库在 pdf 中编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43851366/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com