我想使用CLI工具旋转一个大小为351K的PDF文件,文件名为08-file.pdf
。我已经尝试使用imagemagick:
convert 08-file.pdf -rotate 90 08-file-rotated.pdf
但原始质量:
遭受了严重的降级:
我尝试添加-density 300x300
参数,但结果是一个2.5M的文件,几乎比原始文件大一个数量级,这是一种巨大的浪费。
有什么方法可以使用imagemagick无损旋转PDF文件吗?
我想使用CLI工具旋转一个大小为351K的PDF文件,文件名为08-file.pdf
。我已经尝试使用imagemagick:
convert 08-file.pdf -rotate 90 08-file-rotated.pdf
但原始质量:
遭受了严重的降级:
我尝试添加-density 300x300
参数,但结果是一个2.5M的文件,几乎比原始文件大一个数量级,这是一种巨大的浪费。
有什么方法可以使用imagemagick无损旋转PDF文件吗?
我一直无法很好地使用imagemagik/convert转换/修改pdf文件(分辨率低或文件过大)。尝试使用选项-compress -density -quality总是让人沮丧而浪费时间(但我不是专家)。
因此,我建议您使用pdftk(您可能需要通过apt-get install安装它)。
尝试:
pdftk 08-file.pdf cat 1-endright output 08-file-rotated.pdf
对于旧版pdftk(v<3),旋转仅由一个字母表示: N:0,E:90,S:180,W:270,L:-90,R:+90,D:+180。相同的命令是:
pdftk 08-file.pdf cat 1-endR output 08-file-rotated.pdf
在这个网站上的另一篇文章中,我简单地解释了语法。
pdftk input.pdf cat 1-endsouth output output.pdf
# \_______/ \___/\___/ \________/
# input file range | output file
# direction
你还可以查看https://linux.die.net/man/1/pdftk
编辑于2020年:
我找到了另一个等效的替代品: qpdf,更易记且功能更强大
请访问QPDF手册
#Syntax (you can rotate only some pages of the document -- see the manual --
qpdf --rotate=[+|-]angle[:page-range]
# Example
qpdf in.pdf out.pdf --rotate=+180
PDF操作工具(CLI) 如果您的系统上没有安装pdftk,则可以考虑使用。
pdfjam看起来与pdftk非常相似。
这是一个带有图形用户界面的工具箱,用于修改pdf文件。
代码开源且跨平台。
convert
能够正常工作,而且可以无损压缩(实际上取决于编码方式,可以减小文件大小)。 - jeffmcneill-compress lossless
选项:convert -rotate 90 -compress lossless 08-file.pdf 08-file-rotated.pdf
从文档中可以看到:
https://www.imagemagick.org/script/command-line-options.php#compress无损是指无损JPEG,只有在JPEG库已经打了补丁支持它的情况下才可用。
另一个选择是使用以下命令:
jhead -cmd "jpegtran -progressive -perfect -rotate 270 &i > &o" Image-0001.jpeg
它将输出写入临时文件,成功后会覆盖原始文件:
Cmd:jpegtran -progressive -perfect -rotate 270″ Image-0001.jpeg″>″h1xQ6q″
修改:Image-0001.jpeg
convert -density 288 08-file.pdf -rotate 90 -resize 25% 08-file-rotated.pdf
。但我建议您寻找纯PDF矢量工具来完成此操作。由于您没有发布原始PDF,因此我们无法对其进行测试。 - fmw42