是否有免费的 linux 命令行工具可以将 SVG 转换为 PDF 和/或一些常用的位图格式(例如 PNG)?
met*_*ous 26
当光栅化(像素化)输出是您想要的(或至少是可以接受的)时,Imagemagick很棒,但否则是一个糟糕的选择,因为它有效地将您要转换的任何内容的光栅化版本嵌入到 pdf 中。svg/pdf 的全部意义在于它可以被矢量化,从而尺寸更小,同时在任何分辨率下都保持平滑。
所以,我绝对会推荐使用Inkscape或CarioSVG。后者有几个专门用于此目的的命令行实用程序(svg2pdf
、svg2ps
和svg2png
)。唯一的问题是它基本上只是一个 python 蛋,所以如果你没有设置 python 环境并且不够精明(或不够关心)来设置一个,那么这个选项是不走。我自己尝试过,但是在设置所需的内容时遇到了问题libcairo
(不是我尝试得太努力了)。
Inkscape 很棒,但是如果您只想通过一个快速的小命令为您完成所有工作,则 cli 有点笨拙。我整理了几个小脚本来为我处理这一切:
svg2pdf
#!/bin/bash
for i in $@; do
inkscape --without-gui --export-pdf="$(basename $i .svg).pdf" $i
done
Run Code Online (Sandbox Code Playgroud)
svg2png
#!/bin/bash
for i in $@; do
inkscape --without-gui --export-png="$(basename $i .svg).png" $i
done
Run Code Online (Sandbox Code Playgroud)
将第一个放入~/bin/svg2pdf
,将第二个放入~/bin/svg2png
,chmod +x
在它们上运行以使其可执行,然后繁荣!对于这些经常需要的操作,您有一个快速简便的快捷方式,不需要您思考或记住 Inkscape 的 CLI 是如何工作的。(显然你需要安装 Inkscape 才能使用)
有Image Magick,而Inkscape也有命令行工具。
墨景
转PDF:
inkscape -A a.pdf a.svg
Run Code Online (Sandbox Code Playgroud)
到 PNG:
inkscape -e a.png a.svg
Run Code Online (Sandbox Code Playgroud)
找到man inkscape
以及如何在命令行模式下使用 Inkscape
归档时间: |
|
查看次数: |
19060 次 |
最近记录: |