Основная цель M — взять серию файлов .eps и преобразовать их в .jpg с помощью ImageMagick и GhostScript. У меня установлены ImageMagick и GhostScript в среде Windows. Я безуспешно ссылаюсь на команду convert ImageMagick, используя Process в java. С помощью инструмента Windows cmd
я успешно преобразовал EPS в JPEG, перейдя в папку C:\Program Files\ImageMagick-6.8.9-Q16 и выполнив следующую команду:
convert Raw\R_GiftcardSizeNew3x5.eps Converted\R_GiftcardSizeNew3x5.jpg
В Java я использую почти ту же команду в следующем коде:
public void convertEPStoJPG()
{ //commands
ArrayList<String> cmds = new ArrayList<String>();
//absolute file paths of eps files retrieved using a helper method
ArrayList<String> filePaths = this.getFilePaths();
//beginning cmd line calls
cmds.add("cmd.exe");
cmds.add("/c");
cmds.add("cd C:\\Program Files\\ImageMagick-6.8.9-Q16\\");
for (int i = 0; i < filePaths.size(); i++)
{
//conversion calls
String tempPath = filePaths.get(i);
//shortening path name
tempPath = tempPath.substring(tempPath.lastIndexOf("\\") + 1, tempPath.length());
//adding command of "convert Raw\\image.eps Converted\\image.jpg"
cmds.add("convert \\Naked Wines\\Raw\\" + tempPath + " \\Naked Wines\\Converted\\" +
tempPath.substring(0,tempPath.length() - 3) + "jpg");
}
//building process with commands
ProcessBuilder pb = new ProcessBuilder(cmds);
Process process;
try {
pb.redirectErrorStream(true);
//executing commands
process = pb.start();
BufferedReader r = new BufferedReader(new InputStreamReader(process.getInputStream()));
String line;
while (true) {
line = r.readLine();
if (line == null) { break; }
//print output from command execution
System.out.println(line);
}
} catch (Exception e) {
e.printStackTrace();
}
}
где мои файлы, которые я пытаюсь получить, находятся в C:\Program Files\ImageMagick-6.8.9-Q16\Naked Wines\Raw, а место назначения, в которое я конвертирую, — C:\Program Files\ ImageMagick-6.8.9-Q16\Naked Wines\Converted.
Я получаю сообщение об ошибке "Системе не удается найти указанный путь". Глядя на ранее отвеченные вопросы, такие как Как переопределить Windows convert командой ImageMagick?, люди предлагают переопределить команду Windows convert
. Это может быть причиной ошибки, или я что-то упускаю? Я новичок в ImageMagick и, возможно, что-то пропустил или неправильно понял.