4

我在这里下载了用于处理 EPS 文件的库。

并编写了一些代码来解析 EPS 文件:

EPSImageReaderSPI spi = new EPSImageReaderSPI();
EPSImageReader eps = new EPSImageReader(spi);

File file = new File("file.eps");
InputStream in = null;
try {
    in = new FileInputStream(file);
} catch (FileNotFoundException e) {
    e.printStackTrace();  
}
ImageInputStream iis = null;
iis = ImageIO.createImageInputStream(in);
eps.setInput(iis);
eps.getHeight(0);

我的代码崩溃并说:

线程“main”javax.imageio.IIOException 中的异常:在 Main.main(Main) 的 epsLib.EPSImageReader.getHeight(EPSImageReader.java:148) 的 epsLib.EPSImageReader.readHeader(EPSImageReader.java:307) 不支持数据类型 -1 .java:39) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 在 java. lang.reflect.Method.invoke(Method.java:597) 在 com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)

你能帮我吗?

更新:

当我尝试安装jmagick时,但是当我运行命令时:

./configure --with-java-home=/System/Library/Frameworks/JavaVM.framework/Versions/Current --with-magick-home=/usr/local/Cellar/imagemagick/6.8.0-10 --with-magick-inc-dir=/usr/local/Cellar/imagemagick/6.8.0-10/include

得到这个错误:

检查 MagickCore-config... /usr/local/Cellar/imagemagick/6.8.0-10/bin/MagickCore-config /usr/local/Cellar/imagemagick/6.8.0-10/bin/MagickCore-config: line 50:pkg-config:找不到命令/usr/local/Cellar/imagemagick/6.8.0-10/bin/MagickCore-config:第53行:pkg-config:找不到命令/usr/local/Cellar/imagemagick/6.8 .0-10/bin/MagickCore-config: 第 47 行: pkg-config: command not found 检查magick/api.h 可用性...不检查magick/api.h 存在...不检查magick/api.h ...没有配置:错误:无法找到 ImageMagick 头文件


更新:

我修复它!只需将命令更改为:

./configure --with-java-home=/System/Library/Frameworks/JavaVM.framework/Versions/Current --with-magick-home=/usr/local/Cellar/imagemagick/6.8.0-10 --with-magick-inc-dir=/usr/local/Cellar/imagemagick/6.8.0-10/include/ImageMagick/

然后我尝试了:

make all

并得到错误:

make 1 : 进入目录/Users/olegsuzaev/jmagick-6.4.0/src'make[2]: Entering directory/Users/olegsuzaev/jmagick-6.4.0/src/magick'../../Make.rules:175: * 缺少分隔符。停止。make[2]: 离开目录/Users/olegsuzaev/jmagick-6.4.0/src/magick' make[1]: *** [dir_target] Error 2 make[1]: Leaving directory/Users/olegsuzaev/jmagick-6.4.0/src' make: * [dir_target] 错误 2

有人可以帮助解决新错误吗?

4

1 回答 1

2

我建议您联系此代码的作者或自己查看代码以找出发生此异常的原因。

作为替代方案,似乎有许多可用于 Java 的 EPS API。这里有几个:

此外,ImageMagick (一个 C 库)支持 EPS 来读取 EPS,并且有一个名为JMagick的 ImageMagick 的 JNI 包装器,它允许从 Java 访问 ImageMagick。

于 2013-02-10T23:53:04.420 回答