У меня есть PDF-файлы со ссылочными шрифтами, и я хотел бы использовать Ghost4J для вывода PDF-файлов, содержащих встроенные шрифты.Ghost4J/Ghostscript - Получение ошибки 100 при попытке встроить шрифты в PDF
public void execute() {
Ghostscript gs = Ghostscript.getInstance();
String[] cmdStr={
"-dNOPAUSE","-dBATCH","-dCompatibilityLevel=1.4",
"-dPDFSETTINGS=/prepress","-dSAFER","-dNOPLATFONTS",
"-sDEVICE=display","-sPAPERSIZE=letter",
"-I","C:\\WINNT\\Fonts\\;C:\\Program Files\\gs\\gs9.05\\lib\\;C:\\Program Files\\gs\\gs9.05\\bin\\;",
"-dSubsetFonts=true","-dEmbedAllFonts=true",
"-sFONTPATH=C:\\WINNT\\Fonts", "-sOutputFile=",
outputPath,"-c",".setpdfwrite", "-f",inputPath
};
try {
gs.initialize(cmdStr);
gs.exit();
} catch (GhostscriptException e) {
System.out.println("ERROR: " + e.getMessage());
e.printStackTrace();
}
При запуске любого PDF я получаю следующее сообщение об ошибке:
ERROR: Cannot initialize Ghostscript interpreter. Error code is -100
При запуске в командной строке аргументы работают правильно.
gswin32c.exe -dNOPAUSE -dBATCH -dCompatibilityLevel=1.4 -dPDFSETTINGS=/prepress -dSafer -NOPLATFONTS -sDEVICE=pdfwrite -sPAPERSIZE=letter -dSubsetFonts=true -dEmbedAllFonts=true -sFONTPATH=C:\\WINNT\\Fonts -sOutputFile=c:\out.pdf -f c:\test.pdf
прослеживаний:
- GhostScript имеет разрешение на запись на диск C :.
- Я удалил все переключатели, кроме OutputPath, "-f", inputPath и я все еще получаю ошибку
- Удалены запятая в конце cmdStr после inputPath
Примечания:
- Я работаю на получение обратных вызовов
Я ничего Ghost4J не знаю, но .... эти параметры '' -ps2pdf' и -psconv' не выглядят знакомо мне для командной строки Ghostscript. Кроме того, я не вижу никакого вызова 'gswin32c.exe', который будет работать в Windows (только' gs', который будет работать в Unix) в примере вашего кода cmdStr ... –
Ghost4J - это просто оболочка Java для C++ Ghostscript код. http://ghost4j.sourceforge.net/ – eabraham
Я догадался так много ... Но вы уверены, что ваш способ вызвать Ghostscript из вашего Java-кода правильный? –