wkhtmltox 是一个开源的将网页内容转换成PDF的软件包,常嵌套在网页页面里边做打印功能。

ubuntu16.04 安装wkhtmltopdf参考:https://www.cnblogs.com/hellojesson/p/11206184.html

以微软雅黑字体为例(其他的宋体、黑体等点阵字体都一样的),我们的雅黑字体文件是:Yahei.ttf(放在自己的主目录下)(在widows目录的Fonts目录下找需要的字体)
由于我是双系统,我直接从Win7中复制了 msyh.ttf和msyhbd.ttf 到Ubuntu下;如果在docker容器里边,需要在将字体复制到容器里边。

windows系统,字体文件的目录一般在:C:\Windows\Fonts

开始操作:

(注1:这里操作系统以ubuntu系统为例,其他系统操作原理一样,请做相应调整。)

(注2:如果你的程序用了Docker部署,记得相应的操作是在容器里边,而不是宿主机上。)

1. 在/usr/share/fonts/下新建文件夹 如:winFonts目录,准备把从windows下拷贝过来的字体都放在这个目录里,这里就是把雅黑字体Yahei.ttf 放进来
sudo mkdir -p /usr/share/fonts/winFonts
 
2. 然后将字体文件拷贝到此文件夹下
sudo cp /home/username(用户名)/fonts/Yahei.ttf /usr/share/fonts/winFonts/
 
3. 然后,改变权限:
sudo chmod 644 /usr/share/fonts/winFonts/Yahei.ttf 
(改成755也没问题的,但起码要444,修改雅黑字体文件的权限为644,即当前用户读写,当前组用户只读,其他用户只读)
4. 开始安装:
root@hellojesson:/usr/share/fonts/winFonts# chown root msyh*
root@hellojesson:/usr/share/fonts/winFonts# ls -l
total 35524
-rwxrwxr-x 1 root root 21767952 Oct 21 04:53 msyh.ttf
-rwxrwxr-x 1 root root 14602860 Oct 21 04:52 msyhbd.ttf
root@hellojesson:/usr/share/fonts/winFonts#
root@hellojesson:/usr/share/fonts/winFonts#
root@hellojesson:/usr/share/fonts/winFonts#
root@hellojesson:/usr/share/fonts/winFonts#
root@hellojesson:/usr/share/fonts/winFonts# mkfontscale
root@hellojesson:/usr/share/fonts/winFonts# mkfontdir
root@hellojesson:/usr/share/fonts/winFonts# ls
fonts.dir fonts.scale msyh.ttf msyhbd.ttf
root@hellojesson:/usr/share/fonts/winFonts# fc-cache -fv
/usr/share/fonts: caching, new cache contents: 0 fonts, 4 dirs
/usr/share/fonts/X11: caching, new cache contents: 0 fonts, 4 dirs
/usr/share/fonts/X11/75dpi: caching, new cache contents: 358 fonts, 0 dirs
/usr/share/fonts/X11/encodings: caching, new cache contents: 0 fonts, 1 dirs
/usr/share/fonts/X11/encodings/large: caching, new cache contents: 0 fonts, 0 dirs
/usr/share/fonts/X11/misc: caching, new cache contents: 59 fonts, 0 dirs
/usr/share/fonts/X11/util: caching, new cache contents: 0 fonts, 0 dirs
/usr/share/fonts/truetype: caching, new cache contents: 0 fonts, 2 dirs
/usr/share/fonts/truetype/dejavu: caching, new cache contents: 6 fonts, 0 dirs
/usr/share/fonts/truetype/liberation: caching, new cache contents: 16 fonts, 0 dirs
/usr/share/fonts/type1: caching, new cache contents: 0 fonts, 1 dirs
/usr/share/fonts/type1/gsfonts: caching, new cache contents: 35 fonts, 0 dirs
/usr/share/fonts/winFonts: caching, new cache contents: 2 fonts, 0 dirs
/usr/X11R6/lib/X11/fonts: skipping, no such directory
/usr/local/share/fonts: caching, new cache contents: 0 fonts, 0 dirs
/root/.local/share/fonts: skipping, no such directory
/root/.fonts: skipping, no such directory
/usr/share/fonts: caching, new cache contents: 0 fonts, 4 dirs
/usr/X11R6/lib/X11/fonts: skipping, no such directory
/usr/local/share/fonts: caching, new cache contents: 0 fonts, 0 dirs
/root/.local/share/fonts: skipping, no such directory
/root/.fonts: skipping, no such directory
/var/cache/fontconfig: cleaning cache directory
/root/.cache/fontconfig: not cleaning non-existent cache directory
/root/.fontconfig: not cleaning non-existent cache directory
fc-cache: succeeded 
---异常处理1:执行mkfontscale报错: 处理 apt install xfonts-utils
root@ubuntu:/usr/share/fonts/winFonts# mkfontscale
The program 'mkfontscale' is currently not installed. You can install it by typing:
apt install xfonts-utils
---异常处理2:
root@ubuntu:/usr/share/fonts/winFonts# fc-cache -fv
The program 'fc-cache' is currently not installed. You can install it by typing:
apt install fontconfig

cd /usr/share/fonts/winFonts/

sudo mkfontscale (创建雅黑字体的fonts.scale文件,它用来控制字体旋转缩放)
sudo mkfontdir (创建雅黑字体的fonts.dir文件,它用来控制字体粗斜体产生)
sudo fc-cache -fv (建立字体缓存信息,也就是让系统认识认识雅黑)
 
5. 尝试打印相关网页页面:终端命令行执行
wkhtmltopdf https://www.baidu.com/ baidu.pdf
wkhtmltopdf https://www.taobao.com/ taobao.pdf
 
参考:
http://huqiji.iteye.com/blog/2278225
http://blog.csdn.net/shenshen123jun/article/details/17334857
http://blog.csdn.net/vmboys/article/details/54581369
http://www.laozuo.org/9998.html
http://www.cnblogs.com/kfx2007/p/5926467.html
http://wiki.ubuntu.org.cn/%E5%AD%97%E4%BD%93
http://blog.163.com/bjcclzw@126/blog/static/129968414201281124457883/
 

odoo开发笔记 -- wkhtmltox打印不显示中文 --ubuntu字体安装的更多相关文章

  1. odoo开发笔记 -- div标签代替odoo button写法

    odoo开发笔记 -- div标签代替odoo button写法 并调用自定义js <footer> <div id="confirm_request_cloud_repo ...

  2. odoo开发笔记 -- 搜索视图继承扩展

    odoo开发笔记 -- 搜索视图继承扩展

  3. odoo开发笔记 -- 后台日志输出及分析

    odoo开发笔记 -- 后台日志输出及分析 附:日志分析软件

  4. blfs(systemd版本)学习笔记-配置远程连接显示中文

    我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! 远程连接的lfs系统需要具备以下环境便可在xshell或其他远程终端上面显示中文: 1.lfs主机设置中文编码(需要配置) 2. ...

  5. blfs(systemv版本)学习笔记-配置远程连接显示中文

    我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! 远程连接的lfs系统需要具备以下环境便可在xshell或其他远程终端上面显示中文: 1.lfs主机设置中文编码(需要配置) 2. ...

  6. odoo开发笔记--odoo可用小图标

    odoo系统的小图标都采用了 fontawesome字体图标 官网: http://fontawesome.dashgame.com/ Github:http://fortawesome.github ...

  7. odoo开发笔记--一个模块显示两个一级菜单

    场景描述: 在已启动开发的模块中,odoo顶部一级菜单只有一个“会员管理”,需求是:在同一级顶部菜单,增加新菜单“产品管理”.举例如图:       处理方式: 按照odoo的机制,实现这种效果,可以 ...

  8. odoo开发笔记:前端显示强制换行

    未调整之前:客户信息显示不全 调整后实现效果: 补充CSS知识: 一.强制换行 word-break: break-all; 只对英文起作用,以字母作为换行依据. word-wrap: break-w ...

  9. odoo开发笔记 -- tree视图按指定字段group_by分组显示

    注意点: view视图文件中的搜索视图要放在action视图的前边. 在action视图中,要写search_view_id, 还有context, search_default_group_by_字 ...

随机推荐

  1. C# 编码标准(三)

    一.代码注释 1.文档型注释 该类注释采用.Net已定义好的Xml标签来标记,在声明接口.类.方法.属性.字段都应该使用该类注释,以便代码完成后直接生成代码文档,让别人更好的了解代码的实现和接口.[示 ...

  2. php,判断ajax,get,post

    PHP自定义函数判断是否为Get.Post及Ajax提交的方法 /** * 是否是AJAx提交的 * @return bool */ function isAjax(){ if(isset($_SER ...

  3. HTML5表单新属性

    HTML5表单新属性 autofocus  自动聚焦 <input type="text" autofocus> placeholder占位文本 tel         ...

  4. JavaScript常用事件参考

      onabort 图像加载被中断 onblur 元素失去焦点 onchange 用户改变域的内容 onclick 鼠标点击某个对象 ondblclick 鼠标双击某个对象 onerror 当加载文档 ...

  5. nfs 客户端挂住

    mount -t nfs -o soft,retry=1,timeo=10,intr 192.168.9.27:/mnt/vm /mnt/nfs-vm 可以让NFS client在连接不到NFS se ...

  6. EBS 定义显示总帐快码设置

    自定义一个功能如下,挂到菜单上就可以了功能 用户功能名 表单 参数GL_GLXDQMLK(自定义) 总帐代码列表 定义代码 VIEW_APPLICATION="SQLGL" HEL ...

  7. min cost max flow算法示例

    问题描述 给定g个group,n个id,n<=g.我们将为每个group分配一个id(各个group的id不同).但是每个group分配id需要付出不同的代价cost,需要求解最优的id分配方案 ...

  8. csdn 不登录浏览全文 chrome 浏览器

    1将此文章存到书签栏. 2 右键点击保存到书签栏的这个书签,然后点击修改. 3 名称改为:CSDN查看全文,网址改为: javascript:$("#article_content" ...

  9. python 使用json格式转换

    什么是json: JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.易于人阅读和编写.同时也易于机器解析和生成.它基于JavaScript Programm ...

  10. Martin Fowler 分层测试概念博文分享

    在我们测试工作中,常常遇到这样的问题:开发与测试团队分属不同的不同(部门隔离.沟通不畅),质量职责划分不清(出现bug往往都是测试人员背锅),需求的不确定和易变性(需求不断变化导致代码不停更新.产品重 ...