Saya punya kartun dengan banyak lapisan; di antara lapisan-lapisan itu saya memiliki lapisan Jerman dan Inggris. Mereka memiliki teks dalam bahasa masing-masing. Idenya adalah untuk menyembunyikan lapisan Jerman dan menunjukkan lapisan bahasa Inggris dan ekspor sebagai kartun bahasa Inggris atau untuk menyembunyikan lapisan bahasa Inggris dan menunjukkan lapisan Jerman untuk versi Jerman dari kartun. Saya ingin skrip ekspor itu.
Ini adalah bagian dari file SVG saya:
<g
inkscape:groupmode="layer"
id="layer3"
inkscape:label="English"
style="display:inline">
<text
xml:space="preserve"
<!-- .... -->
id="text3255">
<tspan id="tspan3257">I don't think</tspan>
<!-- ... -->
dan
<g
inkscape:groupmode="layer"
id="layer4"
inkscape:label="German"
style="display:none">
<text
xml:space="preserve"
<!-- ... -->
id="text3284">
<tspan id="tspan3286">Ich glaube nicht,</tspan>
<!-- ... -->
Saya telah melihat /programming/9652573/inkscape-command-line-programming dan mencoba perintah ini (dan banyak variasi untuk itu):
inkscape -z --file=cartoon.svg --select=English --verb=LayerHideAll --select=German --verb=LayerShowAll --export-png=cartoon-de.png --export-area-drawing
Tapi saya terus mendapatkan teks bahasa Inggris, mungkin karena ketika saya menyimpan file, lapisan bahasa Inggris terlihat dan lapisan Jerman tidak.
Saya juga telah mencoba memilih lapisan dengan ID mereka (dalam kode di atas layer3 dan layer4, masing-masing), dan memilih <text>
elemen yang sebenarnya ; Saya sudah mencoba berbagai kombinasi kata kerja Inkscape. Tapi tidak berhasil juga.
Bagaimana saya bisa skrip ekspor ini, menyembunyikan atau menampilkan lapisan bahasa sesuai kebutuhan? Dapatkah saya melakukan ini dengan kata kerja Inkscape atau haruskah saya bekerja dengan XML dan mencoba mengatur atribut style untuk ditampilkan: inline atau display: none?
display:...
menyebabkan ini akan rusak jika Anda sudah memiliki atribut gaya lain seperti opacity. Saya sudah memperbarui jawabannya.