Discrepância enorme no tamanho do arquivo do Inkscape

2

Ao usar o Inkscape para criar muitas imagens com elementos comuns, tento copiar o primeiro arquivo SVG que criei quantas vezes precisar de imagens e, em seguida, edito as cópias. Se eu reutilizar arquivos em projetos, isso pode resultar em um arquivo sendo copiado e modificado de dezenas a centenas de arquivos.

Eu percebi recentemente que as cópias mais recentes têm um tamanho entre 29 e 60 MB, diminuindo significativamente o meu computador. Minhas fotos são muito simples, nada que normalmente ultrapassaria 1 MB de tamanho.

Como experiência, copiei todo o conteúdo de um dos arquivos mais recentes para um novo arquivo do Inkscape. Estou certo de que copiei todo o conteúdo do arquivo (tenho apenas uma camada e usei a opção "Selecionar tudo"). O novo arquivo tem um tamanho de 102,2 KB. Isso indicaria que cerca de 30 MB de dados por arquivo é irrelevante para mim.

Qual poderia ser a causa dessa diferença de tamanho? Existe uma maneira de reduzir o tamanho de um arquivo sem ter que copiar o conteúdo em um novo arquivo?

Estou usando o Inkscape 0.48.4 no Debian Unstable.

Obrigado por qualquer contribuição que você possa fornecer!

    
por Keyran 30.05.2014 / 17:21

2 respostas

3

Parece que o Inkscape armazena alguns metadados enquanto você está trabalhando, o que não é excluído por causa de um bug ou porque você está usando alguns métodos inesperadamente ou mais frequentemente do que o esperado. Você pode tentar descobrir o que está causando o problema examinando o arquivo SVG bruto (em um editor de texto comum ou o Editor de XML do Inkscape) e tentando entender o conteúdo.

Além disso, se você estiver usando alguma operação excessivamente, isso é um bom palpite para o que amplia seus arquivos. Em particular, você deve ter cuidado com qualquer coisa que use arquivos externos.

Em geral, conheço três maneiras de remover informações falsas de arquivos SVG:

  • Use Vacuum Defs do Inkscape. Isso exclui algumas informações, que o Inkscape achou que você poderia querer usar novamente, como gradientes personalizados.
  • Salve o arquivo SVG como SVG simples em vez de Inkscape SVG. Isso torna alguns objetos (como conectores de objeto) convertidos em um tipo de objeto mais primitivo, como são não está contido no padrão SVG (veja também aqui ).
  • Escreva um script (por exemplo, para Sed) que elimina qualquer informação da qual você queira se livrar. Como os SVGs são baseados em XML, isso não é tão entediante quanto parece.
por 02.06.2014 / 02:00
0

Acredito que possa ter algo a ver com <image xlink:href=data:image/png;base64... , que é do meu conhecimento a codificação de uma imagem. Eu tenho trabalhado recentemente com um arquivo que consiste em caminhos simples e uma imagem; a codificação da imagem tem cerca de 835.000 caracteres, enquanto o resto é apenas um adicional de 120.000 caracteres.

    
por 02.02.2017 / 08:26

Tags