Exporte vários arquivos SVG gerados com o Inkscape para vários arquivos PDF


12

Eu tenho cerca de 150 arquivos SVG criados no Inkscape. Existe um utilitário que pode exportar tudo isso para vários arquivos PDF ou PNG?

Exportar individualmente é muito demorado, então eu queria saber se poderia fazê-lo em lote com algum utilitário / software.

Windows preferido.

Respostas:



8

Para as pessoas que chegaram aqui a partir de uma pesquisa no google porque esta pergunta faz referência ao Inkscape, mas não está marcada com o Windows, aqui está um tutorial completo para Linux (isso pressupõe que você tenha o Inkscape instalado em seu sistema - testado no Ubunut 14.04 com Inkscape 0.91).

Crie um arquivo no diretório onde você deseja converter sua SVG s para PDF s . (Usei geditabaixo, mas você pode substituí-lo pelo editor de texto de sua escolha)

gedit convertSVGtoPDF.sh

Cole o seguinte código dentro

#!/bin/bash
mkdir "$PWD"/pdf
for file in $PWD/*.svg
    do
        filename=$(basename "$file")
        inkscape "$file" -d 1200 -A "$PWD"/pdf/"${filename%.svg}.pdf"
    done

Você pode ajustar a resolução de saída desejada modificando o valor após a opção -d.

Salve o arquivo.

Agora torne este script executável

sudo chmod +x convertSVGtoPDF.sh

E execute-o dentro do diretório que contém os SVG s

./convertSVGtoPDF.sh

Isso criará uma nova pasta chamada pdf, na qual você poderá encontrar seus PDFs com fontes incorporadas.

Feliz Inkscaping!


Olá A__, bem-vindo ao GDSE e obrigado pela sua resposta. Se você tiver alguma dúvida, consulte a Central de Ajuda ou envie um ping para um de nós no Chat de design gráfico quando sua reputação for suficiente (20). Continue contribuindo e aproveite o site!
Vincent

Isso também seria possível no Windows usando um script em lote do PowerShell, embora valha a pena mencionar essa pequena peculiaridade sobre a linha de comando do Inkscape no Windows.
Scribblemacher

Isso funcionou para mim, exceto que eu tive que remover $PWD/. Não funcionou porque havia espaços no caminho do diretório.
Tim Kuipers 23/03

Eu usei isso para converter PDF para SVG usando pdf2svg. Excelente resposta!
MycrofD 5/05/19

Testado no Ubuntu 16.04. Ótimo!
loved.by.Jesus

3

Você pode fazer isso usando a interface de linha de comando do Inkscape ( inkscape --without-gui --export-pdf=myfile.pdf myfile.svg) e, em seguida, usar um arquivo em lotes, um script de shell ou uma ferramenta de criação (como Make, Rake ou Grunt) para executá-lo automaticamente em uma lista completa de arquivos.


2

Depois de procurar vários sites, encontrei uma maneira simples usando apenas uma linha de comando.

Eu nunca usei a linha de comando antes, mas depois de algumas experiências, vim com a seguinte solução:

for /f "tokens=1* delims=." %i in ('dir /b *.svg') do "C:\Program Files\Inkscape\inkscape.exe" --without-gui --file="%i.svg" --export-emf="%i.emf"

Dividindo:

for

for é um comando para executar uma ação em vários arquivos. Sua estrutura é algo como: para "arquivos em uma determinada condição" do "comando específico"

/f "tokens=1* delims=." %i in ('dir /b *.svg')

Esta é a "condição". No meu caso, estou procurando todos os arquivos SVG, mas é claro que funciona com outros formatos. Todo esse código "sofisticado" faz é armazenar o nome do arquivo, antes da extensão, na variável "% i". Isso será útil no comando.

do

É isso que você executará em todos os arquivos.

"C:\Program Files\Inkscape\inkscape.exe" --without-gui --file="%i.svg" --export-emf="%i.emf"

Este é o mesmo comando que Marnen Laibow-Koser usou acima. Eu sou um novato, não sei como você usa apenas "inkscape", então coloquei todo o caminho no .exe.

A última parte é onde usamos a variável para instruir o programa para qual arquivo ele deve escolher e como exportar.

Novamente, estou exportando SVG para EMF, mas apenas altere-o para o que você deseja. Aqui está o porquê das variáveis ​​serem tão importantes. Assim, você pode manter o mesmo nome, apenas alterando a extensão.

Não se esqueça de usar as aspas, pois seus arquivos podem ter algum espaço no nome.

Claro que você também precisa estar na pasta onde estão seus arquivos. Se você também é um novato, faça o seguinte:

C:\

Ele colocará você na unidade correta.

CD "path"

O levará para a pasta específica. Você pode usar o Windows Explorer, clicar com o botão direito e copiar o caminho como texto.

É isso aí. Eu sou novato, então pode ser um pouco mais eficaz fazê-lo, mas isso vai funcionar.

Última dica: se você estiver trabalhando com muitos arquivos, poderá usar CTRL + C para interromper a linha de comando, se não estiver funcionando como deveria, e tentar novamente.


0

Este link parece ter o que você deseja: Exportação em lote do inkscape no Windows.


Infelizmente, o link está morto e parece que o InkscapeBatch foi abandonado.
andselisk

0

Supondo que você tenha nomes de arquivos consecutivos.

Supondo que você esteja usando o macOS.

INDIR='3. SVGs/svgs-front'
OUTDIR='4. Individual PDFs/pdfs-front'
seq 1 100 | while read row; do
  echo Processing $row
  /Applications/Inkscape.app/Contents/MacOS/inkscape -o $OUTDIR/$row.pdf --without-gui $INDIR/$row.svg 
done

-2

Para mim, a melhor maneira de fazer isso é o zamzar.com, um site gratuito de conversão de arquivos on-line. Ele permite ao usuário converter arquivos sem baixar uma ferramenta de software e suporta mais de 1.000 tipos diferentes de conversão.


Olá user17598, bem-vindo ao GDSE e obrigado por sua contribuição. Você poderia nos contar um pouco mais sobre o que podemos encontrar no seu link? Gostaríamos que sua postagem fosse útil para futuros visitantes, mesmo no caso de seu link quebrar. Obrigado e aproveite a sua estadia!
Vincent
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.