Ghost4J库安装,找不到gsdll64.dll或libgs.so报错

Posted 小哈里

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ghost4J库安装,找不到gsdll64.dll或libgs.so报错相关的知识,希望对你有一定的参考价值。

文章目录

1、什么是Ghost4J

1.1 Ghostscript,Postscript与PDF的关系

  • 主页:https://ghostscript.com/
    下载:https://ghostscript.com/releases/gsdnld.html

  • Postscript是Adobe提出的一种打印机语言,ghostscript可以看做是postscript的一个解释器,它实现了postscript的语言标准,同时附加了一些其独有的操作指令。

  • Ghostscript是一套建 基于Adobe、PostScript及可移植文档格式(PDF) 的页面描述语言等而编译成的免费软件。Ghostscript 可以查看及打印 PS、EPS、PDF 文件。

  • Ghostscript最初是以商业软件形式在PC市场上发售,并称之为“GoScript”。但由于速度太慢(半小时一版A4),销量极差。后来有心人买下了版权,并改在Linux上开发,成为了今日的Ghostscript。

  • 已经从Linux版本移植到其他操作系统,如其他Unix、Mac OS X、VMS、Windows、OS/2和Mac OS classic。

  • 通常,类PostScript的PDF代码产生于PostScript源文件。以PostScript代码输出的图形命令被收集并标记;其中文档所引用的任何文件图像或字体也被收集,然后每一件都被压缩成单个文件。由此,整个的PostScript领域(字体、输出、计量)得以保持完整。

  • 参考资料
    https://xz.aliyun.com/t/6392

1.2 Ghost4J是什么

  • 主页: http://www.ghost4j.org/
    下载: http://www.ghost4j.org/downloads.html
    开源:https://github.com/zippy1978/ghost4j

  • Ghost4J 绑定了 Ghostscript C API,为 Java 世界带来了 Ghostscript 的强大功能。它还提供了一个高级 API 来处理带有对象的 PDF 和 Postscript 文档。

  • 参考资料:
    https://github.com/jmecn/PdfToImage
    https://github.com/jmrozanec/pdf-converter

2、Win下安装gsdll64.dll依赖

  • 使用Ghost4J需要安装GhostScript,因为它通过JNA调用GhostScript的库文件。
    这些文件可以通过下载安装GhostScript后,在其文件夹中找到。

  • 如果缺失库,java会报错。
    异常:java.lang.UnsatisfiedLinkError: 找不到指定的模块。
    https://blog.csdn.net/fgx_123456/article/details/79236425

2.1 解决方案1

  • 在windows 64位,依赖 win32-x86-64/gsdll64.dll
    在windows 32位,依赖 win32-x86-32/gsdll32.dll

  • 因此可以直接下载文件放入windwos/system32目录下即可
    网上随便搜一搜就有

2.2 解决方案2

  • 搜集gsdll,打包为ghost4j-native-1.0.2.jar文件,直接添加到项目依赖。

  • JNA调用dll等
    https://blog.csdn.net/a491857321/article/details/51504094
    https://blog.csdn.net/a491857321/article/details/51504094
    https://pudy.github.io/Klog/log_so_dll.html
    https://www.freesion.com/article/14161097264/

3、Linux下安装libgs.so依赖

3.1 解决方案

  • Linux安装so,参考方案
    https://qa.1r1g.com/sf/ask/1235749861/

  • libgs.so安装方法:
    (1) 开源仓库下载https://github.com/ArtifexSoftware/ghostpdl-downloads
    https://github.com/ArtifexSoftware/ghostpdl-downloads/releases?page=5 # 下载地址
    wget http://downloads.ghostscript.com/public/ghostscript-9.18.tar.gz # 下载源码
    (2) 解压:tar -xzf ghostscript-9.18.tar.gz 并且进入配置目录:./configure
    (3) 安装:make install
    (4) 生成:make so
    (5) 复制到lib目录:cp ghostscript-9.18/sobin/libgs.so.9.18 /usr/lib
    (6) 创建软连接:ln -s /usr/lib/libgs.so.9.18 /usr/lib/libgs.so
    (7) 配置vi /etc/ld.so.conf.d/libgs.conf,/usr/lib/libgs.so
    (8) 生效:ldconfig

  • Linux安装rpm包等

    安装rpm包
    rpm -q --changelog -p /home/my_user/somepackage.rpm
    

以上是关于Ghost4J库安装,找不到gsdll64.dll或libgs.so报错的主要内容,如果未能解决你的问题,请参考以下文章

我应该将 gsdll64.dll 放在带有 windows7 和 tomcat7 的主机中的哪个位置?

无法加载库“gsdll32”

Java 和 Ghostscript(ghost4j 和 gsdll32.dll)

幽灵4J。 java.lang.UnsatisfiedLinkError:无法加载库“gsdll64”

nvspcap64.dll 找不到指定的模块

conda install xxx时出现 winerror 127找不到指定的程序