使用ZKWeb.system.drawing
背景system.Drawing.Common 和 ZKWeb 的比较项目中引用ZKWebCentOS 中环境搭建CentOS 字体库安装1.拷贝字体2.刷新字体
背景
System.Drawing 只支持windows系统,如果有使用 System.Drawing 的地方,在centos中运行启动时会报错,所以必须找到一个兼容的库支持centos
system.Drawing.Common 和 ZKWeb 的比较
system.Drawing.Common 也是可以用的,效果和ZKWeb差不多。不过system.Drawing.Common的发展路线是为windows专用的,使用时要在配置文件中配置支持非windows平台才可以。而且汉字打印乱码(不知道是不是因为字体库没有的原因)。所以我们选择了ZKWEB
项目中引用ZKWeb
ZKWeb.system.drawing 在 nuget中可以直接找到
引用后系统中所有的System.Drawing都要替换成System.DrawingCore
CentOS 中环境搭建
ZKWeb 依赖于 gdiplus插件,必须要安装这个插件才可以工作
yum install autoconf automake libtool
yum install freetype-devel fontconfig libXft-devel
yum install libjpeg-turbo-devel libpng-devel giflib-devel libtiff-devel libexif-devel
yum install glib2-devel cairo-devel
yum install git
git clone https://github.com/mono/libgdiplus
cd libgdiplus
yum -y install ftp
yum -y install gcc automake autoconf libtool make
yum -y install gcc gcc-c++
./autogen.sh
make
make install
ln -s /usr/local/lib/libgdiplus.so /usr/lib64/libgdiplus.so
ln -s /usr/local/lib/libgdiplus.so /usr/libgdiplus.so
以上方法亲测有效
不过还看到有人介绍简单方法 https://blog.51cto.com/usdoc/2806098,没有试:
yum whatprovides libgdiplus && yum install -y epel-release && yum install -y libgdiplus-2.10-9.el7.x86_64 && yum install -y libgdiplus-devel
CentOS 字体库安装
centos中默认没有中文字体库,
1.拷贝字体
在 /usr/share/fonts/下创建一个文件夹(名字随便),将windows/fonts下的需要字体文件拷贝过来,
2.刷新字体
执行fc-cache可以刷新系统的字体,fc-list可以查看字体列表
如果fc-cache报错,需要安装这个工具
yum -y install fontconfig