Ubuntu Linux的DevExpressReport无法显示报表(.net core)
打开报表会报错:
System.TypeInitializationException: The type initializer for 'Gdip' threw an exception. ---> System.DllNotFoundException: Unable to load DLL 'libgdiplus': The specified module could not be found.
因为报表涉及到生成图片的操作,而.net core在linux下的支持还不太健全,所以需要执行linux命令装几个组件:
apt-get update
apt-get install -y apt-utils libc6-dev libgdiplus
ln -s /usr/lib/libgdiplus.so /usr/lib/gdiplus.dll
然后重启reboot
,执行上述命令后即可预览报表了。
但是打印的话中文还是不会显示,这时候需要安装字体。因为微软雅黑版权问题,我在报表中选择了使用宋体。
先将宋体文件全部拷贝到/usr/share/fonts
目录。字体文件可以自己从C:\Windows\Fonts
拷贝出来
也可以用我提供的链接下载,我提供了多个字体文件,全部拷贝进去即可。
链接:https://pan.baidu.com/s/1lM17sFlogCCFTHswqvSGSw
提取码:ub60
拷贝完成后执行下列命令
cd /usr/share/fonts
chmod 777 *
mkfontscale
mkfontdir
sudo fc-cache -fsv
执行完成后字体便安装成功了。最后进行重启reboot
即可。
CentOS7解决方案
yum install -y autoconf automake libtool freetype-devel fontconfig libXft-devel libjpeg-turbo-devel libpng-devel giflib-devel libtiff-devel libexif-devel glib2-devel cairo-devel mlocate libgdiplus-devel
如果觉得依赖太多,可以试试只执行yum install -y libgdiplus-devel
。
然后需要安装字体
1、先cd
到字体存放地
/usr/share/fonts
ls
2、先看看有没有chinese文件夹,没有就创建一个
mkdir chinese
chmod -R 755 /usr/share/fonts/chinese
cd chinese
3、上传字体文件*.ttf等等
chmod 777 *.ttf
fc-cache -fv
4、重启reboot