Loading

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

posted @ 2021-07-28 16:47  碌云  阅读(384)  评论(0编辑  收藏  举报