#java #image #png #ghostscript #eps
#java #изображение #png #ghostscript #eps
Вопрос:
Я использую ghostsript
версию 9.53.3, у меня есть eps
изображение. но когда я пытаюсь преобразовать его в png
, он поворачивает его по какой-то причине, которую я не понимаю. вот моя команда, которую я выполняю на java, выполняя process и отправляя аргументы командной строки:
["C:Program Filesgsgs9.53.3bingswin64.exe", -dNOPAUSE, -dEPSFitPage, -g88x88, -r300, -sDEVICE=png16m, -dGraphicsAlphaBits=4, -dBATCH, -sOutputFile=C:ProgramDataInBetweenTempInBetweenClientIBTempeps_12257004264254001602758322946eac07d9c-2366-49f1-bd2e-0181c1bef7ea.png, "D:TrunkcheckoutIBClientServerbin..Projectsmyview_2356_VerpackungenPNGImagespiktogramme/eps/2260_Erf_360.eps"]
Мой код:
List<String> shellCommand = new ArrayList<String>();
if (isWindowOS) {
shellCommand.add(""" getGSPath() """);
shellCommand.add("-dNOPAUSE");
shellCommand.add("-dEPSFitPage");
width = Unit.getPixelsFromPoints(width, dpi);
height = Unit.getPixelsFromPoints(height, dpi);
shellCommand.add("-g" width "x" height);
shellCommand.add("-r" dpi);
shellCommand.add("-sDEVICE=" device);
if (GSUtilsInterface.DEVICE_PNG.equals(device)) {
shellCommand.add("-dGraphicsAlphaBits=4");
}
shellCommand.add("-dBATCH");
shellCommand.add("-sOutputFile=" outputFile.toString());
shellCommand.add(""" imagePath """);
} else {
shellCommand.add("pstopdf");
shellCommand.add(imagePath);
shellCommand.add("-o");
shellCommand.add(outputFile.toString());
}
log.debug("shellCommand:" shellCommand);
InputStream in = null;
try {
Process p;
// Process p1 = null;
log.eventLow("Executing: " shellCommand.toString());
if (isWindowOS) {
p = new ProcessBuilder(shellCommand).start();
Ответ №1:
Попробуйте добавить -dAutoRotatePages=/None
Комментарии:
1. привет @jay Rohr я добавил вышеуказанный параметр, но все равно не повезло. изображение все еще вращается
2. Я попробовал вашу точную командную строку в окне Linux, и png НЕ вращался. На данный момент я бы посоветовал вам просмотреть файл eps. Правильно ли отображается gs (gsview)?