HISUI
医为浏览器访问PDF问题
2022年08月03日 14时50分

医为浏览器基于cefsharp49内核实现,在PDF阅读功能方面有不少问题。

一、字体模糊

mofu

二、字体为黑体时,显示异常

heiti

三、cefsharp49的pdf解析功能

学习cefsharp处理pdf功能,查找资料发现pdf是使用cef自带扩展来处理的,扩展在cefsharp工程bin/x86/debug/cef_extensions.pak文件内,下载PackPAK软件可以解压pak文件,查看内容,解压后可以得到resources目录,包含了cef的各种扩展,下图为pdf文件预览使用的目录
pak
修改js内容后再使用PackPAK软件打包回pak后,替换bin/x86/debug下pak文件,测试发现是可以有效使用,但pdf解析使用的是embed插件

<embed width="100%" height="100%" name="plugin" id="plugin" src="http://127.0.0.1/dthealth/web/html/mofu.pdf" type="application/pdf" internalinstanceid="19" title="">

解析pdf实际使用的是application/pdf插件。但没找到如何修改插件的办法。

每次重新编译后,会重新生成pak文件
高版本内核不再使用cef_extensions.pak,使用resources.pak
高版本内核上述问题都不存在

四、使用PDFJS来处理pdf文件

pdfjs是mozilla开发的一个使用HTML5构建的可移植文档格式库,支持svg与canvas实现。使用它可以预览pdf,在应用层面websys.js中实现二个公共方法预览pdf

//使用window.open('http://127.0.0.1/dthealth/web/html/mohu.pdf');打开时模糊,
//可以使用以下二种方法打开
websys_createWindow('http://127.0.0.1/dthealth/web/html/mohu.pdf','title','width=900;height=500;');
websys_showModal({
    url:'http://127.0.0.1/dthealth/web/html/mohu.pdf',
    width:1000,height:500,title:"title"
});
websys_createWindow('../html/help/CH/XML打印.pdf','title','width=900;height=500;');
websys_showModal({
    url:'../html/help/CH/XML打印.pdf',
    width:1000,height:500,title:"title"
});

效果图:
mofu-new

上一篇: 下一篇:

发表评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注

访问量: 379544