欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 美食 > mupdf加载PDF显示中文乱码

mupdf加载PDF显示中文乱码

2025/2/22 2:15:45 来源:https://blog.csdn.net/weixin_43333380/article/details/140227293  浏览:    关键词:mupdf加载PDF显示中文乱码

现象

加载PDF显示乱码,提示非嵌入字体

 non-embedded font using identity encoding

调式

在pdf-font.c中加载字体

调试源码发现pdf文档的字体名字居然是GBK,估计又是哪个windows下写的pdf生成工具生成pdf

字体方法:

static pdf_font_desc *
load_cid_font(fz_context *ctx, pdf_document *doc, pdf_obj *dict, pdf_obj *encoding, pdf_obj *to_unicode)

具体加载

 pdf_to_name(ctx, pdf_dict_get(ctx, dict, PDF_NAME(BaseFont)));

解决

转码发现是宋体,简单判断转换下

  unsigned char utf8SimSun[]={0xe5,0xae,0x8b,0xe4,0xbd,0x93};unsigned char gbkSimSun[]={0xcb,0xce,0xcc,0xe5};
     if(0 == memcmp(basefont,utf8SimSun,sizeof(utf8SimSun))){fz_warn(ctx, "basefont:宋体UTF8");basefont = "SimSun";}if(0 == memcmp(basefont,gbkSimSun,sizeof(gbkSimSun))){fz_warn(ctx, "basefont:宋体GBK");basefont = "SimSun";}

PDF字体查看

可以借助福昕软件查看
在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词