Ferramenta para achatar transformações aninhadas SVG [closed]

9

Gostaria de saber se existe alguma ferramenta de linha de comando disponível para nivelar grupos aninhados com transformações em um SVG?

No meu caso particular, estou convertendo um PDF produzido por software CAD para SVG e, em seguida, adicionando alguns elementos e publicando o SVG modificado em uma página da Web para visualização. O tempo de resposta do SVG é muito lento (para pan e zoom) e descobri que é devido a um número muito grande de grupos aninhados dentro do SVG, geralmente com até 100 de profundidade. Para cada elemento no SVG, o navegador precisa calcular a posição em todos os seus nós pai ...

Obviamente, isso é ridículo, pois todos esses elementos precisam de uma única transformação (matriz). Então, pergunto-me se alguém sabe de uma ferramenta para achatar isso (ou uma implementação de C # ou Delphi que faria isso ...).

    
por Optavius 11.10.2012 в 12:45
fonte

4 respostas

5

O melhor que eu encontrei é svgo link Mas ainda não é satisfatório. O objetivo do SVGO é produzir um arquivo SVG menor. Isso significa que, se uma transformação permitir um arquivo svg menor, ela será mantida. Meus propósitos são semelhantes aos do OP, mas ligeiramente diferentes. Eu estou procurando por algo que pode achatar e simplificar completamente o SVG para apenas caminhos básicos & amp; elementos.

    
por over_optimistic 07.02.2016 / 09:23
fonte
1

Obrigado Delapouite,

Enquanto isso eu encontrei este: ( PStill ). Ele faz um trabalho perfeito de nivelar a estrutura (PDF para PDF), mas o SVG resultante ainda tem muitos elementos, tornando-o bastante inutilizável para um navegador. É realmente o problema do que os sistemas CAD produzem para o PDF: muitos caminhos muito pequenos, em vez de um caminho mais longo. Tenho certeza que ainda há espaço para otimização ... um dia: -)

    
por Optavius 13.10.2012 / 13:20
fonte
0

Você pode escolher o SVG Cleaner . Infelizmente, é uma ferramenta GUI, por isso não atende às suas necessidades, mas oferece uma filosofia de processamento em lote que pode se tornar útil.

    
por Delapouite 11.10.2012 / 17:01
fonte
0

Existe uma opção para achatar transformações no Inkscape Graphics Editor.
Então você pode usar os comandos do terminal do Inkscape para alcançá-lo, mas você terá que verificar se existe um comando desse tipo.

    
por user2409836 07.08.2013 / 01:00
fonte
-1

Sou novo no Inkscape, mas antigo no GIMP.

Noto que o Inkscape tem uma pasta "extensões", dentro da qual são encontrados programas python.

Eu suspeito que o Inkscape tenha uma funcionalidade similar (embora não seja imediatamente óbvia na Ajuda) para o GIMP ao permitir que os usuários gravem suas próprias extensões personalizadas. No GIMP, os scripts mais simples apenas automatizam as etapas manuais que os usuários escolhem nos menus em um de seus fluxos de trabalho.

No entanto, é possível um processamento mais sofisticado do que o oferecido nos menus.

    
por quagmire 06.01.2018 / 22:08
fonte