HTML-转-PDF-图文报表实践

导出 PDF 图文报表实践 方法一: jsPDF使用 jsPDF 时,需要注意的是其默认单位为 mm,需要在 new jsPDF() 时传入配置 const doc = new jsPDF({ unit: 'px', format: 'a4'})这个方法废了。这个鬼东西多行文本和多个图片,简直要人命! 方法二: wkhtmltopdf Vue SSR使用 Vue.js ,需要 SSR 支持,否则页面为空白 使用 Nuxt.js 作为服务端渲染框架,这里记录一下遇到的问题和解决方案 1. 使用 Element UI,启动就报错 HTMLElement is not definedElement UI 版本问题,使用最新的 2.8.x 会出现问题,则需要降版本并在 package.json 中配置版本策略,仅更新小版本范围 "element-ui": "~2.4.11",参考资料:https://github.com/ElemeFE/element/issues/15261 2. JS的兼容问题在使用 wkhtmltopdf 时,提示报错:Warning: http://localhost:3000/_nuxt/vendors.app.js:1941 SyntaxError: Parse error,估计是 ES6 的语法在wkhtmltopdf 的运行环境当中不支持,导致出现了这些错误提示。 官方Nuxt.js 2.6.X 版本其实给了 babel 的配置,默认会自动根据浏览器的运行环境做代码兼容,并不需要以下的这些设置(下面只是自己的实践过程,供参考),请直接使用第3点的解决方法。 ...

May 22, 2019 · 2 min · jiezi

centos使用chrome-cli、chromium或wkhtmltoimage截图时出现的中文字符乱码的解决方案

在centos7环境下使用chrome-php或wkhtmltoimage截图时出现的中文乱码解决方案最近做了一个小项目,要求使用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 ttmkfdir3.centos7系统的话,创建字体目录,mkdir /usr/share/fonts/chinese4.上传本地的字体文件,例如mac里对应的任何一个ttf字体文件。5.将字体文件复制到/usr/share/fonts/chinese下,并执行chmod -R 755 /usr/share/fonts/chinese6.执行ttmkfdir -e /usr/share/X11/fonts/encodings/encodings.dir7.编辑/etc/fonts/fonts.conf,在如下部位添加:8.运行fc-cache和fc-cache-64(如果有的话)9.运行fc-list查看刚刚安装的字体是否存在。10.再一次运行程序脚本,查看截图是否包含正常的中文字符。

March 28, 2019 · 1 min · jiezi

centos7 安装wkhtmltopdf 0.12.5

wkhtmltopdf 看网上安装教程都是老版本的,正好从0.12.5开始安装发生了变化,很多百度的都没用了现做此记录:环境:centos7、wkhtmltopdf0.12.5安装方式:rpm下载:最新版本:https://github.com/wkhtmltopd…wkhtmltopdf0.12.5curl -O https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.5/wkhtmltox-0.12.5-1.centos7.x86_64.rpm安装rpm -ivh wkhtmltox-0.12.5-1.centos7.x86_64.rpm直接安装会提示一堆依赖问题,没截图先安装依赖:yum install -y fontconfig libX11 libXext libXrender libjpeg libpng xorg-x11-fonts-75dpi xorg-x11-fonts-Type1依赖安装成功后在使用上面的安装命令安装即可安装后的路径:whereis wkhtmltopdf一般在:/usr/local/bin/wkhtmltopdf/lib64/libcrypto.so.10: version `OPENSSL_1.0.2’ not foundyum -y install openssl中文方块字将windows下的宋体字体复制到/usr/share/fonts/chinese/TrueTypewindows字体目录:C:WindowsFonts最下面宋体 常规 文件名为:simsunb.ttf

December 28, 2018 · 1 min · jiezi