资讯专栏INFORMATION COLUMN

centos使用chrome-cli、chromium或wkhtmltoimage截图时出现的中文字

ivyzhang / 1960人阅读

摘要:后来换了各种系统环境,包括更改中文支持,依然如故,只有在自己的上是正常的。查看是否有中文字体,一般情况下是不存在的,否则也不会乱码。再一次运行程序脚本,查看截图是否包含正常的中文字符。

centos7环境下使用chrome-phpwkhtmltoimage截图时出现的中文乱码解决方案
最近做了一个小项目,要求使用chrome/chromium对抓取的页面进行截图保存并上传云服务,因为是composer依赖包管理,所以使用了chrome-php

核心代码示例:

    // navigate
    $navigation = $page->navigate("https://www.baidu.com");
        
    // wait for the page to be loaded
    $navigation->waitForNavigation();
    
    // take a screenshot
    $screenshot = $page->screenshot([
        "format"  => "jpeg",  // default to "png" - possible values: "png", "jpeg",
        "quality" => 80       // only if format is "jpeg" - default 100 
    ]);
    
    // save the screenshot
    $screenshot->saveToFile("/some/place/file.jpg");

结果发现截图不正确,所有中文字符乱码:

后来提了issue,地址

按照对方给的解决方法,并未有效解决。

后来换了各种系统环境,包括更改中文支持,依然如故,只有在自己的mac上是正常的。

所以猜想应该是字体的问题,所以尝试以下方案,最终正常显示:

如以下命令执行出现permission denied的情况,使用sudo命令执行。
1.fc-list查看是否有中文字体,一般情况下是不存在的,否则也不会乱码。 2.查看是否支持ttmkfdir which ttmkfdir,如果没有的话,那么安装:yum install -y ttmkfdir 3.centos7系统的话,创建字体目录,mkdir /usr/share/fonts/chinese 4.上传本地的字体文件,例如mac里对应的任何一个ttf字体文件。 5.将字体文件复制到/usr/share/fonts/chinese下,并执行chmod -R 755 /usr/share/fonts/chinese 6.执行ttmkfdir -e /usr/share/X11/fonts/encodings/encodings.dir 7.编辑/etc/fonts/fonts.conf,在如下部位添加:

8.运行fc-cachefc-cache-64(如果有的话) 9.运行fc-list查看刚刚安装的字体是否存在。 10.再一次运行程序脚本,查看截图是否包含正常的中文字符。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/31104.html

相关文章

  • Node.js定时导出Highchart图表

    摘要:一背景需求因为数据包含机密信息,所以得自己搭建图表导出服务器在后台生成对应图表以图片的形式导出保存。图表个性化程度较高,如一些图列是没有的,但在前端可以利用实现。每周定时执行上述生成图表的任务,保存到指定位置。 一、背景需求 1、因为数据包含机密信息,所以得自己搭建图表导出服务器;在后台生成对应Highcharts图表、以图片的形式导出保存。2、图表个性化程度较高,如一些图列是High...

    miguel.jiang 评论0 收藏0
  • 关于Keystone.js安装时出现的一个新手可能会遇到的小问题的解决方法

    摘要:在执行如下命令之后如果你的电脑没有装,那么执行就会出现如下的显示不是内部或外部命令,也不是可运行的程序或批处理文件。是制作的生成器需要,官网是。使用来生成网站,如果没有安装的话,需要使用进行安装。解决方法安装后即可 在terminal执行如下命令之后 npm install -g generator-keystone 如果你的电脑没有装yo,那么执行 yo keystone 就会出...

    quietin 评论0 收藏0
  • puppeteer实现线上服务器任意区域截图

    摘要:整个九月份由于业务繁重以及玩心颇重,一直没有机会来写一篇博文。关于服务端截图,这种使用场景非常少见,大多服务器不同于机器并不提供相关图形界面以及图形库,所以对不同的系统的不同版本的服务器需要安装不同的共享库。 整个九月份由于业务繁重以及玩心颇重,一直没有机会来写一篇博文。而且笔者于十月一日将会举办人生大事--婚礼,现在家里筹办过程中只能抽出零碎的时间来写这篇文章。 关于服务端截图,这种...

    chnmagnus 评论0 收藏0

发表评论

0条评论

ivyzhang

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<