Ghost4j 本身不使用ghostscript 安装,而是ghost4j 和ghostscript 都使用名为libgs.so 的库。这个库是 ghostscript 的依赖,但也附带了一个名为 libgs-dev 的安装(在 Linux 上)。我怀疑 Ghost4j 以某种方式使用了该库的一些左版本。因此,如果您使用的是最新版本的 Ubuntu,安装 libgs-dev 应该可以解决问题,但是所有当前稳定版本的 Linux 默认为 9.18 我们通过手动构建该库并将我们需要的版本符号链接到 libgs.so 来解决这个问题文件。您可以在此处下载已编译的动态链接版本 9.22 libgs.so (个人保管箱链接)将其保存在 /usr/lib/x86_64-linux-gnu/libgs.so.9.22 下并运行
ln -fs /usr/lib/x86_64-linux-gnu/libgs.so.9.22
/usr/lib/x86_64-linux-gnu/libgs.so
而且,如果一个人不信任互联网上的陌生人,那么这里是自己构建它的说明:(
构建 gs 的教程),
(gs 源代码)。为了确保其他一切都相同,我们使用 Ghost4j 1.0.1 和 JNA 4.1.0
<dependency>
<groupId>net.java.dev.jna</groupId>
<artifactId>jna</artifactId>
<version>4.1.0</version>
</dependency>
<dependency>
<groupId>org.ghost4j</groupId>
<artifactId>ghost4j</artifactId>
<version>1.0.1</version>
</dependency>
在解决这个问题时,我发现这个端点方法非常有用:
@RequestMapping(value = "/gs/version", method = GET)
public GhostscriptRevision gsVersion() throws IOException {
return Ghostscript.getRevision();
}
祝你好运。