Como automatizar a exportação do Inkscape?

3

Atualmente faço isso em um arquivo BAT:

Inkscape.exe --file "some.svg" --export-png "some_64.png" --export-width 64
Inkscape.exe --file "some.svg" --export-png "some_96.png" --export-width 96
Inkscape.exe --file "some.svg" --export-png "some_128.png" --export-width 128

Mas isso é meio demorado para executar o Inkscape 3 vezes seguidas e abrir o mesmo arquivo, além de salvar o arquivo svg de origem antes de executar o BAT de exportação e garantir que o BAT tenha o nome de arquivo correto.

Então, eu estou querendo saber se existe uma ferramenta (ou plugin) que permita a exportação programática, ou em lote, do Inkscape, algo como o diálogo Export Bitmap, mas com suporte a script?

    
por Vitaly 10.06.2011 / 12:13

2 respostas

1

Uma alternativa seria criar um retângulo para cada tamanho de exportação desejado e colocar cada um deles em uma camada separada (por exemplo, com o nome de tamanho de exportação - size64, size96, etc.).

O truque é que, quando você seleciona um desses retângulos e clica em exportar, esse objeto lembra as propriedades de exportação, por exemplo, o tamanho do bitmap exportado, assim como o caminho. Certifique-se de permanecer na guia "Seleção" da caixa de diálogo de bitmap de exportação.

Torne todas as camadas retangulares totalmente transparentes. Note que ainda é possível selecionar um tal retângulo tanto clicando com o botão esquerdo quanto Ctrl + A: se a camada em que ele está é a camada ativa.

Depois de definir esses destinos / retângulos de exportação, é possível exportá-los novamente, selecionando [1] todos os retângulos de exportação e pressionando Ctrl + Shift + E novamente para obter a caixa de diálogo de exportação. Clique na caixa de seleção "Batch export X objects" e pressione Export!

Agora, para tornar este processo econômico, você pode querer definir uma matriz inteira de retângulos para todos os seus gráficos, para que você tenha um retângulo para cada gráfico, em cada camada não gráfica.

[1] selecionar todos os retângulos de exportação requer um pequeno truque: na caixa de diálogo da camada, bloqueie todas as camadas que não sejam retângulo de exportação e, em seguida, pressione Ctrl + A. Voila - todos os retângulos de exportação transparentes selecionados!

    
por 04.10.2014 / 21:00
0

link

With this parameter, Inkscape will enter an interactive command line shell mode. In this mode, you type in commands at the prompt and Inkscape executes them, without you having to run a new copy of Inkscape for each command. This feature is mostly useful for scripting and server uses: it adds no new capabilities but allows you to improve the speed and memory requirements of any script that repeatedly calls Inkscape to perform command line tasks (such as export or conversions). Each command in shell mode must be a complete valid Inkscape command line but without the Inkscape program name, for example:

    file.svg --export-pdf=file.pdf

Não tenho certeza se um script em lote do Windows é capaz de se comunicar de forma interativa. Isso não é um problema com as linguagens de script atuais, por exemplo Python.

O Inkscape não parece ser programável por scripts.
As extensões do Inkscape parecem ser usadas principalmente para gerar / modificar / processar gráficos / dados SVG, mas não para automatizar as funções da interface do usuário: link (veja algumas extensões no link ).

Para automação geral (por exemplo, para inserir parâmetros e clicar no botão Exportar automaticamente), dê uma olhada no link .

Se renderizar SVG em imagens é tudo o que é necessário, existem outros programas gráficos / bibliotecas compatíveis com SVG sem sobrecarga de GUI.

    
por 27.10.2018 / 14:19