0
点赞
收藏
分享

微信扫一扫

onlyoffice pdf 乱码

small_Sun 2022-03-15 阅读 109
c++

        从乱码的pdf文件来看,问题都出在type0字体上了。深入了解一下的话,你会发现Encoding为Identity-H或者Identity-V的具有特殊含义,怎么个特殊法呢,就是可以直接用,下图是我在pdf reference 1.7中截取的一段话:

        这段话我理解了一下,他应该是想说,Identity-H这种,他的cid,应该就对应gid。可以直接用的意思就是把cid当作gid使用。下图是Identity-H的cid-gid的CMap,是我从福昕的程序路径中发现的,当然,git上也有:

        前面两个尖括号应该是cid起止范围,后面是gid的开始id,完全是一一对应。

        所以在代码GrCIDFont初始化的时候,我给其加了个判断,

 

         这样我们在后面的HTMLRenderer.dll中的Writer.h的WriterText函数中就可以判断用哪个了,如下

         以上,我们就可以让大多数中文乱码的pdf正常展示了。我只是综合了几个常见的pdf乱码的错误来写的,pdf规范读的很粗略。如果各位高手有更好的解决方案,望不吝赐教。

ps:中间代码写的很奇怪,就不贴了。

 

举报

相关推荐

0 条评论