Encontrei uma maneira de fazer isso nesta pergunta: Inkscape - Center Drawing to Page via linha de comando / terminal
Com "foo.svg" como a imagem a editar:
inkscape --verb=EditSelectAll --verb=AlignHorizontalCenter --verb=AlignVerticalCenter --verb=FileSave --verb=FileQuit foo.svg
Para editar todas as imagens svg no diretório atual:
inkscape --verb=EditSelectAll --verb=AlignHorizontalCenter --verb=AlignVerticalCenter --verb=FileSave --verb=FileClose *.svg
Mas este segundo comando abre uma tonelada de janelas, o que fará com que o seu computador trave se você estiver editando muitas imagens. Somente para Linux , este comando funcionará melhor:
for img in $(ls *.svg) ; do inkscape --verb=EditSelectAll --verb=AlignHorizontalCenter --verb=AlignVerticalCenter --verb=FileSave --verb=FileQuit $img ; done
Para o comando acima, se algum dos arquivos tiver links simbólicos, o Inkscape editará o arquivo de destino ao qual o link simbólico aponta. Se você não deseja que o Inkscape faça isso, é possível filtrar quaisquer links simbólicos com este comando:
for img in $(ls *.svg) ; do if [[ $(readlink $img) == "" ]] ; then inkscape --verb=EditSelectAll --verb=AlignHorizontalCenter --verb=AlignVerticalCenter --verb=FileSave --verb=FileQuit $img ; fi ; done
Enquanto estou nisso, é melhor postar o script bash que fiz para isso:
#!/bin/bash
# inkscape-center <file-or-directory>...
_analyse() {
if [ -d "${1}" ] ; then
_centerAll "${1}" ;
else
_center "${1}" ;
fi
}
_centerAll() {
cd "${1}" ;
for img in $(ls "*.svg") ; do
_filterSyms "${img}" ;
done
}
_filterSyms() {
if [[ $(readlink "${1}") == "" ]] ; then
_center "${1}"
fi
}
_center() {
inkscape --verb=EditSelectAll --verb=AlignHorizontalCenter --verb=AlignVerticalCenter --verb=FileSave --verb=FileQuit "${1}"
}
for arg ; do
_analyse "${arg}" ;
done
Eu chamei inkscape-center
e executei assim:
inkscape-center <file-or-directory>
São necessários quantos argumentos você desejar, para que você possa fazer algo assim:
inkscape-center 1st.svg 2nd.svg 3rd.svg 4th.svg
Cuidado - Se você especificar um diretório em vez de um arquivo, ele editará todos os arquivos svg nesse diretório.