1

Я искал ответ на вопрос (преобразование EPS в PDF), где они предложили использовать Inkscape для преобразования EPS в изображения PDF. Мне нужна точно такая же вещь. Используя графический интерфейс, он работает как шарм.

Поскольку у меня есть около 200 изображений для конвертации, есть ли способ автоматизировать этот процесс? Или, по крайней мере, запустить его через командную строку, чтобы я мог сделать этот процесс быстрее? Даже делать это по одному из командной строки хорошо, потому что делать это из GUI становится болью.

Я изучаю пакетные скрипты, поэтому с любым ответом вы можете уточнить, как работает процесс

Я прочитал страницу о запуске Inkscape в командной строке, но я получаю сообщение об ошибке, что «inkscape» не распознается как внутренняя или внешняя команда, работающая программа или командный файл.

Я задал этот вопрос на сайте TeX StackExchange, и меня попросили запустить следующий пакетный скрипт.

@echo off

for /r %%i in (*.eps) do "c:\Program Files (x86)\Inkscape\inkscape.exe" --export-pdf=%%i.pdf %%i

Когда я перехожу к использованию cmd в каталог, я получаю ошибку

Inkscape получил дополнительные данные из выполненного скрипта. Сценарий не вернул ошибку, но это может указывать на то, что результаты будут не такими, как ожидалось.

Но Inkscape просто открылся, и после этого ничего не произошло. Может ли кто-нибудь помочь мне?

2 ответа2

2
  • Не используйте inkscape.exe . Используйте оболочку inkscape.com . Это позволит вам увидеть выходные данные и сообщения об ошибках из командной строки Windows. Смотрите эту запись FAQ

  • Попробуйте явно использовать опцию -f чтобы увидеть, имеет ли это значение, т.е. менять:

    --export-pdf=%%i.pdf %%i
    

    в

    -f "%%i" --export-pdf="%%i.pdf"
    
  • Протестируйте один файл с обратными слешами в пути, чтобы убедиться, что с Inkscape все в порядке. Если нет, вам может потребоваться преобразовать в косую черту.

1

С параметром /r for вы получаете рекурсивный список всех файлов .eps в этом каталоге и подкаталоге (y/ies) со значением %%i = c:\some\path\probably with\spaces\someEPSfile.eps .

Inkscape, вероятно, задыхается от этих неожиданных пробелов в имени файла. Вероятно, это можно исправить так:

for /r %%i in (*.eps) do "c:\Program Files(x86)\Inkscape\inkscape.exe"
--export-pdf="%%i.pdf" "%%i"

Если это не сработает, то я бы попробовал убрать рекурсивный флаг (может, Inkscape не нравится косая черта в именах файлов?):

for %%i in (*.eps) do "c:\Program Files(x86)\Inkscape\inkscape.exe"
--export-pdf="%%i.pdf" "%%i"

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .