2017-02-01 2 views
0

Я использую Ghostcript 9.20 в командной строке Windows. Ghostscript должен читать имена файлов из файла, хотя некоторые из файлов имеют «Umlaute», например. üäö такой в ​​имени файла "Jürgen1.pdf" "Jürgen2.pdf". Но Ghostscript 9.20 проглатывает умлаут ü и не может читать имена файлов с Умлаутом вообще. Что я делаю не так?Вход в ghostscript для чтения имен файлов с umlaute из файла в CMD

chcp 1252 
set file_output=Jürgen_merged 
dir "Jürgen*.pdf" /b /o:n > files.txt 
"C:\Program Files (x86)\Gawk\gawk4.1\gawk" "{ print \"\042\" $0 \"\042\" }" files.txt > files.lst 
"C:\Program Files (x86)\gs\gs9.20\bin\gswin64c" -sPAPERSIZE=a4 -sDEVICE=pdfwrite -o "%file_output%.pdf" @files.lst 
del files.lst 
+0

Он должен работать, я предлагаю вам открыть отчет об ошибке с файлом, который показывает проблему. Просто один файл и простая командная строка, без скриптов. – KenS

+0

[Командная строка Windows: * NOT * a DOS prompt!] (Https://scalibq.wordpress.com/2012/05/23/the-windows-command-prompt-is-not-a-dos-prompt/) – aschipfl

+0

Я попытался преобразовать @ files.lst в UTF8 с этим iconv -f WINDOWS-1252 -t UTF-8 files.txt> files.lst, и он все еще не работает или не проглатывает Umlaut. – sdf

ответ

0

Я думаю проблема заключается в том, что синтаксис @ File.list не поддерживает преобразование из кодовой страницы Windows, в UTF-8, который мы должны использовать внутренне. Это связано с тем, что содержимое параметров @ file.list фактически обрабатывается в Postscript (который не знает о кодовых страницах и т. П.). Так что я думаю, если вы конвертируете файл file.lst в кодировку UTF-8, это может сработать.

+0

Нет, это не работает, см. Мое сообщение о преобразовании из iconv -f WINDOWS-1252 -t UTF-8 txt. Я проверил файл с Notepad ++, и файл был действительно преобразован в UTF-8 без спецификации. Ghostscript по-прежнему опускает Umlaute и впоследствии не может прочитать файлы из списка файлов. – sdf

+0

Ну, как сказал мой коллега, откройте ошибку на https://bugs.ghostscript.com/, прикрепите то, что нам нужно, чтобы воспроизвести проблему, и мы рассмотрим ее. – chrisl

+0

Я не знаком с такими сообщениями об ошибках, так как я не профессиональный пользователь. Jut использует Ghostscript как частный пользователь. Я сделаю все возможное. Тем временем я сделал работу с передачей ее скрипту через gawk, а затем снова к переменной вроде этого – sdf

0

Теперь с обновлением до Ghostscript 9.21 функция die @file и «Umlaute» в этом файле работает. Исправлена ​​ошибка.

Смежные вопросы