如何在11.10上只使用默认软件包将PNG转换为PDF?

打开Ubuntu中的PNG文件,我可以看到“打印到文件”的菜单项。如何在Shell上实现相同的功能?附注:由于没有root访问权限,我更倾向于不安装额外的软件包。
编辑:操作系统是Ubuntu 11.10。
4个回答

convert xyz.png xyz.pdf应该能解决问题。

更多选项请参阅man convert


20+1 - 此外,您还可以使用通配符:将*.png文件转换为.pdf文件。 - Geppettvs D'Constanzo
需要额外的软件包吗? - Richard
3是的,它需要ImageMagick软件包,尽管在我的Ubuntu 12.04上默认安装了它。 - abhshkdz
还有在Lubuntu 12.10上默认安装的。 - Rasmus
5使用通配符时要小心,文件可能不会按照期望的顺序出现,尤其是如果文件名中包含数字(例如,名为“17.png”的文件将排在名为“2.png”的文件之前)。要预览它们合并成PDF文件的顺序,您可以使用命令“echo *.png”。 - user396895
1如果您正在使用较新版本的Ubuntu,您可能需要进行以下安全例外:https://askubuntu.com/questions/1081895/trouble-with-batch-conversion-of-png-to-pdf-using-convert PDF文件看起来很漂亮,原始图像完好无损。 - GlenPeterson
5convert-im6.q16: 未授权 `h1.pdf' @ 错误/constitute.c/WriteImage/1037. - momo2047
8尝试执行一个安全策略不允许的操作“PDF”。 - Cerin
1@Cerin 同样的问题,这个答案解决了它 https://stackoverflow.com/a/53180170/5472004 - Martin Tovmassian

如果你想要将多张图片(例如png文件)合并成一个单一的pdf文件,可以在末尾使用指定的pdf文件名来进行转换。
convert *.png mydoc.pdf

它将按照降序将所有的png文件合并成一个名为mydoc.pdf的文件。


15convert-im6.q16: 尝试执行安全策略不允许的操作 `PDF' @ error/constitute.c/IsCoderAuthorized/408. - mathtick
这似乎更像是您所工作环境的安全策略问题。很抱歉,我对该错误无法提供太多信息。 - EliuX
3批量将png转换为pdf的问题在这里有详细说明,其中涉及到了'convert-im6.q16'的问题。 - artless noise
谢谢你提供的链接,简单明了,被采纳的答案对我很有帮助! - Axel B

在18.04 LTS中,使用ImageViewer打开图像;然后将其打印为PDF文件。

1看起来不像是一个命令行建议。 - user unknown

如果需要将每个PNG文件转换为单独的PDF文件,请执行以下操作:
for file in *.png; do convert ${file} ${file:0:-4}.pdf; done

此命令将目录中的所有PNG文件转换为同名PDF文件。

这是Imagemagick的convert命令吗?你的回答是否只适用于Imagemagick V6版本?V7版本需要使用magick convert命令吗?请参考:https://askubuntu.com/a/1315605/1157519(啊,好的。这个帖子里面都是关于`convert`的问题...不过,这些回答可能有点过时了。) - Levente
1不要使用$(ls *.png)遍历文件。这种方式容易受到空格的影响,并且冗长无用。只需使用for file in *.png,既不会受到空格的影响,也不会冗长无用。 - user unknown