inkscape não está funcionando no prompt de comando

1

Eu estava analisando a resposta para a pergunta (conversão de EPS para PDF), onde eles sugeriram usar o Inkscape para converter imagens EPS em PDF. Eu preciso exatamente da mesma coisa. Usando a GUI, funciona como um encanto.

Como tenho cerca de 200 imagens para converter, existe uma maneira de automatizar esse processo? Ou pelo menos executá-lo via linha de comando para que eu possa fazer esse processo mais rápido? Mesmo fazendo um de cada vez a partir do prompt de comando é bom porque fazer isso de GUI está se tornando uma dor.

Estou aprendendo scripts em lote, então, com qualquer resposta dada, você pode explicar como o processo funciona?

Eu li a página na execução do Inkscape no prompt de comando, mas estou recebendo o erro que 'inkscape' não é reconhecido como um comando interno ou externo, programa operável ou arquivo de lote.

Eu perguntei esta questão no < um href="https://tex.stackexchange.com/"> o site TeX StackExchange e foi solicitado a executar o seguinte script em lote.

@echo off

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

Quando eu navego para usar o cmd no diretório, recebo o erro

Inkscape has received additional data from the script executed. The script did not return an error, but this may indicate the results will not be as expected.

Mas o Inkscape acabou de abrir e nada aconteceu depois disso. Alguém poderia me ajudar?

    
por computationally_curious 11.09.2013 / 00:18

2 respostas

2

  • Não use inkscape.exe . Use o wrapper inkscape.com . Isso permitirá que você veja as mensagens de saída e erro da linha de comando do Windows. Veja esta entrada de FAQ

  • Tente usar explicitamente a opção -f para ver se isso faz alguma diferença, por exemplo. mudar:

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

    para

    -f "%%i" --export-pdf="%%i.pdf"
    
  • Teste um único arquivo com barras invertidas no caminho para ter certeza de que o Inkscape não tem problema. Caso contrário, talvez seja necessário converter em barras.

por 20.05.2015 / 13:57
1

Com a opção /r de for , você está obtendo uma lista recursiva de todos os arquivos .eps nesse diretório e subdiretório (y / ies), com o valor de %%i = c:\some\path\probably with\spaces\someEPSfile.eps . / p>

O Inkscape provavelmente está sufocando nesses espaços inesperados no nome do arquivo. Provavelmente pode ser corrigido assim:

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

Se isso não funcionar, então eu tentaria remover o sinalizador recursivo (talvez o Inkscape não goste de barras em seus nomes de arquivos?):

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