o inkscape não funciona no prompt de comando

1

Eu estava procurando a resposta para a pergunta (conversão de EPS para PDF), onde eles sugeriram o uso do 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 executar esse processo mais rapidamente? Mesmo fazê-lo um de cada vez no prompt de comando é bom, porque fazer isso na GUI está se tornando um problema.

Estou aprendendo scripts em lote, portanto, com qualquer resposta, você pode explicar como o processo funciona

Li a página sobre a execução do Inkscape no prompt de comando, mas estou recebendo o erro de que o 'inkscape' não é reconhecido como um comando interno ou externo, programa operacional ou arquivo em lotes.

Fiz essa pergunta no site do TeX StackExchange e fui 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 navego para usar o cmd no diretório, recebo o erro

O Inkscape recebeu dados adicionais do script executado. O script não retornou um erro, mas isso pode indicar que os resultados não serão os esperados.

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

computationally_curious
fonte
1
Execute o script >> output.txtno final de for /r %%i in (*.eps) do "c:\Program Files (x86)\Inkscape\inkscape.exe" --export-pdf=%%i.pdf %%ie ele produzirá os erros em um arquivo de texto
50-3 10-13 de
1
Também for /r %%i in (*.eps) do echo "c:\Program Files (x86)\Inkscape\inkscape.exe" --export-pdf=%%i.pdf %%i >> output.txtexibirá cada linha que o arquivo em lotes tenta executar em um arquivo de texto para que você possa ver cada linha e depurar a partir daí
50-3

Respostas:

2
  • Não use inkscape.exe. Use o inkscape.cominvólucro. Isso permitirá que você veja as mensagens de saída e erro na linha de comando do Windows. Veja esta entrada das perguntas frequentes

  • Tente usar explicitamente a -fopção para ver se isso faz diferença, ou seja. mudança:

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

    para

    -f "%%i" --export-pdf="%%i.pdf"
    
  • Teste um único arquivo com barras invertidas no caminho para garantir que o Inkscape esteja de acordo. Caso contrário, pode ser necessário converter para barras.

pirocrasty
fonte
1

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

O Inkscape provavelmente está se afogando 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, tente remover o sinalizador recursivo (talvez o Inkscape não goste de barras nos nomes de arquivos?):

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