I'm attempting to convert an image in an inputstream to an outputstream using im4java. FRom the docs, it looks like setting an inputProvider as the input and specifying an output stream should pipe the converted image, but i get a:
Failed to convert image: more argument images then placeholders
Here's my function:
public static InputStream convert(InputStream imageStream){
try {
// Set up the im4java properties. See {@link im4java}
IMOperation op = new IMOperation();
op.scale(1000);
op.compress("Zip");
ConvertCmd convert = new ConvertCmd();
convert.setSearchPath(imLocation);
logger.debug("Imagemagick located at: " + convert.getSearchPath());
InputStream is = imageStream;
ByteArrayOutputStream os = new ByteArrayOutputStream();
Pipe pipeIn = new Pipe (is, null);
Pipe pipeOut = new Pipe(null, os);
convert.setInputProvider(pipeIn);
convert.setOutputConsumer(pipeOut);
convert.run(op, "-", "pdf:-");
is.close();
os.close();
pipeOut.consumeOutput(is);
return is;
}catch(Exception e){
logger.debug("Failed to convert image: " + e.getMessage());
}
return null;
}
Thanks!