.net core 在CentOS中使用Apose.cad,将dwg文件转换为pdf时出错

1、报错信息是这样的:

  DINotFoundException:无法加载共享库“libgdiplus”或它的一个依赖项,保存为图像时失败。

  

  在windows上可以进行转换,但是在linux就会出现错误

解决方案:

  1、看一下 centos 上的 libdl 版本是多少?

  ls /usr/lib/libdl* 结果是这样: /usr/lib/libdl-2.17.so /usr/lib/libdl.so.2

  2、然后创建软链接试试

  ln -s libdl-2.xxx.so libdl.so

  3、如果又出现了:Unable to load DLL 'libgdiplus'的错误

  yum install libgdiplus-devel

  在使用就不会有问题了

2、报错信息是这样的(CentOS)

  --> System.InvalidOperationException: Cannot find any fonts installed on the system.大概的意思是没有可以使用的字体

  如果程序在windows上可以跑的起来,那么这个bug改起来就简单了,直接把字体库copy过去就可以了

解决方案:

  1、首先查看一下已经安装的字体

fc-list

  2、使用fontconfig来安装字体库

yum -y install fontconfig

  这时在/usr/shared目录就可以看到fonts和fontconfig目录了(之前是没有的)

  3、添加中文字体

  如何程序在windows上可以跑起来,那么你就可以直接去Windows/Fonts目录下,你可以看到好多字体

  4、在这之前我们还需要新建目录,首先在/usr/shared/fonts目录下新建一个目录chinese

  5、然后把你需要的字体,或者全部的字体copy到/usr/shared/fonts/chinese下

  6、紧接着需要修改chinese目录的权限:

chmod -R 755 /usr/share/fonts/chinese

  7、接下来需要安装ttmkfdir来搜索目录中所有的字体信息,并汇总生成fonts.scale文件,输入命令

yum -y install ttmkfdir

  8、最后一步就是修改字体配置文件了,首先通过编辑器打开配置文件

vi /etc/fonts/fonts.conf

  9、你好好找找<dir>/usr/shared/fonts</dir>,将它替换成<dir>/usr/shared/fonts/chinese</dir>,你刚刚添加的中文字体

  10、然后输入:wq保存退出,最后别忘了刷新内存中的字体缓存,这样就不用reboot重启了

fc-cache

 注释:CAD|DWG|PSD转换PDF的工具找了好久、此版本是可以使用的(去除水印、>=DotNet Core2.1、支持Linux),它唯一的缺陷只能转换为黑白色,PDFTRON这款可以转换为  彩色,并且应用广泛。

这是我使用的:

Aspose.3D for .NET v18.4
Aspose.BarCode for .NET v18.3
Aspose.CAD for .NET v18.3
Aspose.Cells for .Net v18.4
Aspose.Diagram for .NET v18.4
Aspose.Email for .NET v18.3
Aspose.GIS for .NET v18.3
Aspose.Html for .NET v18.4
Aspose.Imaging for .NET v18.3
Aspose.PDF for .Net v18.4
Aspose.Tasks for .NET v18.4

都可以使用,去除水印,v17.13以上才支持Dotnet core

链接:https://pan.baidu.com/s/1jhBFjaw4lPr-v455dmJ2Lg
提取码:w1fu

原文地址:https://www.cnblogs.com/yongxinwang/p/13704055.html