Extensões Python
Extensões Python no Inkscape: instalar, usar e criar scripts de automação
O que você vai aprender
- Criar extensões básicas em Python usando o framework inkex
- Entender a estrutura: arquivo .py + arquivo .inx de registro
- Acessar e modificar objetos SVG via lxml/ElementTree no script
- Registrar a extensão no menu do Inkscape pelo arquivo INX
Extensões Python🔗
Inkscape suporta extensões em Python para automação e funcionalidades extras.
Extensões Instaladas🔗
Acesse via Extensões menu. Extensões comuns:
- pagetranslate: Traduz textos
- Grid: Gera grades
- Color Palette: Gera paletas
- Barcode: Gera códigos de barras
Instalar Extensão🔗
- Baixe extensão (.py ou .inx)
- Copie para:
- Linux:
~/.config/inkscape/extensions/ - Windows:
%APPDATA%\inkscape\extensions\ - macOS:
~/Library/Application Support/inkscape/extensions/
- Linux:
- Reinicie Inkscape
Criar Extensão🔗
Estrutura Básica🔗
extension_name/
├── extension_name.py # Lógica Python
├── extension_name.inx # Metadados XML
└── extension_name.svg # Ícone (opcional)Arquivo .inx🔗
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/extensions">
<name> Minha Extensão</name>
<id>minha_extensao</id>
<param name="valor" type="float">1.0</param>
<effect>
<object-type>all</object-type>
</effect>
<script>
<command location="inx">python</command>
<source attachment="extension_name.py"/>
</script>
</inkscape-extension>API Básica🔗
import inkex
class MinhaExtensao(inkex.Effect):
def effect(self):
for node in self.svg.selection:
node.style['fill'] = '#ff0000'
if __name__ == '__main__':
MinhaExtensao().run()inkex (API Inkscape)🔗
| Classe | Uso |
|---|---|
inkex.Effect | Extensão que processa seleção |
inkex.Flowable | Extensão que gera XML |
inkex.add_argument() | Adiciona argumento |
Recursos🔗
- inkex.styles: Manipular CSS inline
- inkex.units: Converter unidades
- inkex.templates: Gerar SVG
- inkex.bounds: Bounding box
Teste extensões com Alt
- Shift
- E para ver erros no console.
Você aprendeu
- Extensões Python usam o framework inkex para acessar o documento SVG
- O arquivo .inx registra a extensão no menu e define parâmetros da interface
- O script Python manipula o XML do SVG diretamente via lxml