public static void crop(String inputFilePath, String outputFilePath, int tileWidth, int tileHeight, int offsetX, int offsetY) throws CommandNotAvailable, CommandException { CommandLineExecutorService cles = Framework.getService(CommandLineExecutorService.class); CmdParameters params = cles.getDefaultCmdParameters(); params.addNamedParameter("tileWidth", String.valueOf(tileWidth)); params.addNamedParameter("tileHeight", String.valueOf(tileHeight)); params.addNamedParameter("offsetX", String.valueOf(offsetX)); params.addNamedParameter("offsetY", String.valueOf(offsetY)); params.addNamedParameter("inputFilePath", inputFilePath); params.addNamedParameter("outputFilePath", outputFilePath); ExecResult res = cles.execCommand("crop", params); if (!res.isSuccessful()) { throw res.getError(); } }
protected CmdParameters setupCmdParameters(Map<String, String> parameters) { CmdParameters cmdParameters = new CmdParameters(); for (String param: parameters.keySet()) { cmdParameters.addNamedParameter(param, parameters.get(param)); } return cmdParameters; }
/** @since 5.9.5. */ public static void cropAndResize(String inputFilePath, String outputFilePath, int tileWidth, int tileHeight, int offsetX, int offsetY, int targetWidth, int targetHeight, String mapComponents) throws CommandNotAvailable, CommandException { if (mapComponents == null) { mapComponents = DEFAULT_MAP_COMPONENTS; } CommandLineExecutorService cles = Framework.getService(CommandLineExecutorService.class); CmdParameters params = cles.getDefaultCmdParameters(); params.addNamedParameter("tileWidth", String.valueOf(tileWidth)); params.addNamedParameter("tileHeight", String.valueOf(tileHeight)); params.addNamedParameter("offsetX", String.valueOf(offsetX)); params.addNamedParameter("offsetY", String.valueOf(offsetY)); params.addNamedParameter("targetWidth", String.valueOf(targetWidth)); params.addNamedParameter("targetHeight", String.valueOf(targetHeight)); params.addNamedParameter("inputFilePath", inputFilePath); params.addNamedParameter("outputFilePath", outputFilePath); params.addNamedParameter("mapComponents", mapComponents); ExecResult res = cles.execCommand("cropAndResize", params); if (!res.isSuccessful()) { throw res.getError(); } }
public static void rotate(String inputFile, String outputFile, int angle) throws CommandNotAvailable, CommandException { CommandLineExecutorService cles = Framework.getService(CommandLineExecutorService.class); CmdParameters params = cles.getDefaultCmdParameters(); params.addNamedParameter("angle", String.valueOf(angle)); params.addNamedParameter("inputFilePath", inputFile); params.addNamedParameter("outputFilePath", outputFile); ExecResult result = cles.execCommand("rotate", params); if (!result.isSuccessful()) { throw result.getError(); } }
private static ExecResult getIdentifyResult(String inputFilePath) throws CommandNotAvailable { CmdParameters params = new CmdParameters(); params.addNamedParameter("inputFilePath", inputFilePath); return execCommand("identifyQuality", params); }
params.addNamedParameter("targetWidth", String.valueOf(targetWidth)); params.addNamedParameter("targetHeight", String.valueOf(targetHeight)); params.addNamedParameter("inputFilePath", inputFile); params.addNamedParameter("outputFilePath", outputFile); params.addNamedParameter("targetDepth", String.valueOf(targetDepth)); String commandName = "resizer"; Point size = scaleToMax(targetWidth, targetHeight, MAX_JEPG_DIMENSION); if (size != null) { params.addNamedParameter("targetWidth", String.valueOf(size.getX())); params.addNamedParameter("targetHeight", String.valueOf(size.getY()));
public static void convert(String inputFilePath, String outputFilePath) throws CommandNotAvailable, CommandException { CommandLineExecutorService cles = Framework.getService(CommandLineExecutorService.class); CmdParameters params = cles.getDefaultCmdParameters(); params.addNamedParameter("inputFilePath", inputFilePath); params.addNamedParameter("outputFilePath", outputFilePath); ExecResult res = cles.execCommand("converter", params); if (!res.isSuccessful()) { throw res.getError(); } }
params.addNamedParameter("quality", quality); params.addNamedParameter("targetWidth", String.valueOf(width)); params.addNamedParameter("targetHeight", String.valueOf(height)); params.addNamedParameter("inputFilePath", sourceFile.getAbsolutePath()); params.addNamedParameter("outputFilePath", targetFile.getAbsolutePath()); params.addNamedParameter("targetDepth", String.valueOf(info.getDepth())); ExecResult res = execCommand(commandName, params); if (!res.isSuccessful()) {
public static ExecResult getIdentifyResult(String inputFilePath) throws CommandNotAvailable { CommandLineExecutorService cles = Framework.getService(CommandLineExecutorService.class); CmdParameters params = cles.getDefaultCmdParameters(); params.addNamedParameter("inputFilePath", inputFilePath); return cles.execCommand("identify", params); }
final File file = File.createTempFile("cmdLineBasedConverter", "." + FilenameUtils.getExtension(blob.getFilename())); blob.transferTo(file); params.addNamedParameter(blobParamName, file); filesToDelete.add(file.getAbsolutePath()); params.addNamedParameter(paramName, parameters.get(paramName)); params.addNamedParameter("timeoutDuration", timeoutDuration);
protected Map<String, Object> readMetadata(String command, Blob blob, List<String> metadata, boolean ignorePrefix) { CommandAvailability ca = commandLineService.getCommandAvailability(command); if (!ca.isAvailable()) { throw new BinaryMetadataException("Command '" + command + "' is not available."); } if (blob == null) { throw new BinaryMetadataException("The following command " + ca + " cannot be executed with a null blob"); } try { ExecResult er; try (CloseableFile source = getTemporaryFile(blob)) { CmdParameters params = commandLineService.getDefaultCmdParameters(); params.addNamedParameter("inFilePath", source.getFile()); if (metadata != null) { params.addNamedParameter("tagList", getCommandTags(metadata)); } er = commandLineService.execCommand(command, params); } return returnResultMap(er); } catch (CommandNotAvailable commandNotAvailable) { throw new RuntimeException("Command '" + command + "' is not available.", commandNotAvailable); } catch (IOException ioException) { throw new BinaryMetadataException(ioException); } }
String size = parameters == null ? THUMBNAIL_DEFAULT_SIZE : (String) parameters.getOrDefault(THUMBNAIL_SIZE_PARAMETER_NAME, THUMBNAIL_DEFAULT_SIZE); params.addNamedParameter(THUMBNAIL_SIZE_PARAMETER_NAME, size); params.addNamedParameter("inputFilePath", source.getFile()); params.addNamedParameter("outputFilePath", targetBlob.getFile());
public static VideoInfo getVideoInfo(Blob video) { if (video == null || video.getLength() == 0) { return null; } try { ExecResult result; try (CloseableFile cf = video.getCloseableFile("." + FilenameUtils.getExtension(video.getFilename()))) { CommandLineExecutorService cles = Framework.getService(CommandLineExecutorService.class); CmdParameters params = cles.getDefaultCmdParameters(); params.addNamedParameter("inFilePath", cf.getFile().getAbsolutePath()); // read the duration with a first command to adjust the best rate: result = cles.execCommand(FFMPEG_INFO_COMMAND_LINE, params); } if (!result.isSuccessful()) { throw result.getError(); } return VideoInfo.fromFFmpegOutput(result.getOutput()); } catch (CommandNotAvailable | CommandException | IOException e) { throw new NuxeoException(e); } }
Blob newBlob = getTemporaryBlob(blob); CmdParameters params = commandLineService.getDefaultCmdParameters(); params.addNamedParameter("inFilePath", newBlob.getFile()); params.addNamedParameter("tagList", getCommandTags(metadata)); ExecResult er = commandLineService.execCommand(command, params); boolean success = er.isSuccessful();