Saya menemukan cara untuk melakukan ini dalam pertanyaan ini: Inkscape - Gambar Pusat ke Halaman melalui Command Line / Terminal
Dengan "foo.svg" sebagai gambar untuk diedit:
inkscape --verb=EditSelectAll --verb=AlignHorizontalCenter --verb=AlignVerticalCenter --verb=FileSave --verb=FileQuit foo.svg
Untuk mengedit semua gambar svg di direktori saat ini:
inkscape --verb=EditSelectAll --verb=AlignHorizontalCenter --verb=AlignVerticalCenter --verb=FileSave --verb=FileClose *.svg
Tetapi perintah kedua ini membuka banyak jendela, yang akan membuat komputer Anda crash jika Anda mengedit terlalu banyak gambar. Hanya untuk Linux , perintah ini akan bekerja lebih baik:
for img in $(ls *.svg) ; do inkscape --verb=EditSelectAll --verb=AlignHorizontalCenter --verb=AlignVerticalCenter --verb=FileSave --verb=FileQuit $img ; done
Untuk perintah di atas, jika ada file symlink, Inkscape akan mengedit file target yang ditunjuk symlink. Jika Anda tidak ingin Inkscape melakukan ini, Anda dapat memfilter symlink dengan perintah ini:
for img in $(ls *.svg) ; do if [[ $(readlink $img) == "" ]] ; then inkscape --verb=EditSelectAll --verb=AlignHorizontalCenter --verb=AlignVerticalCenter --verb=FileSave --verb=FileQuit $img ; fi ; done
Sementara saya melakukannya, saya mungkin juga memposting skrip bash yang saya buat untuk ini:
#!/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
Saya memanggilnya inkscape-center
dan menjalankannya seperti ini:
inkscape-center <file-or-directory>
Dibutuhkan argumen sebanyak yang Anda inginkan, sehingga Anda dapat melakukan sesuatu seperti ini:
inkscape-center 1st.svg 2nd.svg 3rd.svg 4th.svg
Hati-hati - Jika Anda menentukan direktori alih-alih file, itu akan mengedit setiap file svg di direktori itu.