邮件发送与服务端导出插件
# pkg-puppeteer插件
pkg-puppeteer
插件用于服务端模拟请求看板页面,生成看板截图,比如: 定时任务邮件发送、大屏导出。
该插件基于Google Chrome团队的puppeteer开发,使用pkg打包成不同平台的可执行文件,避免了用户在安装时对依赖的nodejs。 puppeteer是phantomjs停止更新维护之后服务端模拟请求页面截图更好的选择,比phantomjs兼容性更好,功能更加强大。
提示
pkg-puppeteer插件由我们提供, 此外用户不需要安装nodejs相关环境
我们为用户准备的导出插件自带chromium,目录结构如下
- linux平台
|-- chromium
| `-- chrome-linux
|-- pkg-puppeter-linux
pkg-puppeter-linux 会通过相对路径调用chromium/chrome-linux
2
3
4
5
- windows平台
|-- chromium
| `-- chrome-win
|-- pkg-puppeter-win.exe
2
3
关于chromium
不同操作系统的chromium运行依赖各有不同,具体参照官方文档chrome-headless-doesnt-launch (opens new window)
# 测试Chromium是否能够正常运行
进入chromium/chrome-linux
出现下面的提示为能正常运行
root @ tcc4 in /opt/pkg-puppeteer/chromium/chrome-linux [10:07:21] $ ./chrome [15657:15657:0326/100725.664920:ERROR:zygote_host_impl_linux.cc(89)] Running as root without --no-sandbox is not supported. See https://crbug.com/638180.
出现下面的提示为不能正常运行
[root@VM_0_4_centos chrome-linux]# ./chrome ./chrome: error while loading shared libraries: libX11.so.6: cannot open shared object file: No such file or directory
# Chromium依赖安装
# CentOS7
yum install -y pango.x86_64 libXcomposite.x86_64 libXcursor.x86_64 libXdamage.x86_64 libXext.x86_64 libXi.x86_64 libXtst.x86_64 cups-libs.x86_64 libXScrnSaver.x86_64 libXrandr.x86_64 GConf2.x86_64 alsa-lib.x86_64 atk.x86_64 gtk3.x86_64 ipa-gothic-fonts xorg-x11-fonts-100dpi xorg-x11-fonts-75dpi xorg-x11-utils xorg-x11-fonts-cyrillic xorg-x11-fonts-Type1 xorg-x11-fonts-misc
# CentOS8
sudo yum install -y gconf-service libasound2 libatk1.0-0 libc6 libcairo2 libcups2 libdbus-1-3 libexpat1 libfontconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libnspr4 libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 ca-certificates fonts-liberation libappindicator1 libnss3 lsb-release xdg-utils
sudo yum install -y chromium
sudo yum install -y chromium libmng libXScrnSaver libXv
2
# Ubuntu20
sudo apt-get install -y nodejs gconf-service libasound2 libatk1.0-0 libc6 libcairo2 libcups2 libdbus-1-3 libexpat1 libfontconfig1 libgbm1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libnspr4 libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 ca-certificates fonts-liberation libappindicator1 libnss3 lsb-release xdg-utils wget libgbm-dev libxshmfence-dev
- MacOSX, Windows(只支持64位操作系统) 暂时发现可以直接运行
# 系统配置指定插件安装目录
# 通过配置文件修改
# [必须修改] 看板导出、邮件发送依赖插件安装目录
## Linux配置
pkg_puppetter=/xxx/pkg-puppeteer/pkg-puppeter-linux
## Windows配置
pkg_puppetter=/xxx/pkg-puppeteer/pkg-puppeter-win-x64.exe
# [必须修改] 导出插件模拟请求地址
frontend.baseurl=http://localhost:8026/cboard
# [可选配置] 导出插件请求参数, 可以设置模拟请求浏览器高宽与缩放
pkg.puppetter.args=-DvpWidth=1920 -DvpHeight=1080
2
3
4
5
6
7
8
9
提示
配置文件修改之后需要重启服务
# 通过系统配置页面修改
配置内容同上, 配置文件修改之后不需要重启服务
# 依赖字体安装(导出中文乱码时安装)
下载字体 (opens new window) 到font
目录
# linux
进入font目录
mkdir /usr/share/fonts/custom
cp *.ttf /usr/share/fonts/custom
fc-cache -fv
2
3
# Windows
直接拷贝字体文件到Windows字体目录
C:\WINDOWS\Fonts
安装字体完成之后需要重启BI服务