使用imagemagick无损旋转PDF文件

使用imagemagick无损旋转PDF文件,pdf,imagemagick,image-rotation,lossless,Pdf,Imagemagick,Image Rotation,Lossless,我想使用CLI工具旋转名为08 file.PDF的351K PDF文件。我试过: 但原始质量: 严重退化: ,但结果是一个250万的文件,比原始文件大近一个数量级,这是一个巨大的浪费 知道如何使用imagemagick无损旋转PDF文件吗?请使用-无损压缩选项: convert -rotate 90 -compress lossless 08-file.pdf 08-file-rotated.pdf 从文件中: 无损是指无损JPEG,仅当JPEG 库已修补以支持它 另一个选项是使用以下命

我想使用CLI工具旋转名为
08 file.PDF
的351K PDF文件。我试过:

但原始质量:

严重退化:

,但结果是一个250万的文件,比原始文件大近一个数量级,这是一个巨大的浪费


知道如何使用imagemagick无损旋转PDF文件吗?

请使用
-无损压缩
选项:

convert -rotate 90 -compress lossless 08-file.pdf 08-file-rotated.pdf
从文件中:

无损是指无损JPEG,仅当JPEG 库已修补以支持它

另一个选项是使用以下命令:

jhead-cmd“JPEG传输-渐进-完美-旋转270&i>&o” Image-0001.jpeg

它将输出写入临时文件,成功后将覆盖原始文件:

Cmd:jpegtran-渐进-完美-旋转270“Image-0001.jpeg”> “h1xQ6q”

修改:Image-0001.jpeg


11/I使用imagemagik/convert(分辨率不好或文件太大)转换/更改pdf文件时,总是有不好的结果。使用选项-压缩-密度-质量总是令人沮丧和浪费时间(但我不是专家)

提案1:pdftk 因此,我建议pdftk(您可能需要通过apt get install安装)

尝试:


对于pdftk的旧版本(vImageMagick不直接在PDF上工作。其“支持的格式”页面上的一条注释称其“使用ghostScript转换文件”;大概是一个简单的位图,这样它就可以在上面使用它的magick。然后结果可以写入多种位图格式,其中PDF只是其中之一。使用专门设计用于处理PDF的工具。我会直接尝试Ghostscript。Imagemagick和Ghostscript都将PDF光栅化。因此,如果旋转PDF并尝试写回PDF,则o PDF,则原始PDF将被光栅化、旋转,然后将光栅结果放入矢量PDF外壳中。这不是一个好方法。如果要提高质量,请在读取PDF之前增加密度,然后适当调整大小。
convert-density 288 08-file.PDF-rotate 90-resize 25%08 file rotated.PDF
。但我会G请您寻找纯PDF矢量工具来完成此操作。您没有发布原始PDF,因此我们无法使用它进行测试。使用-compress无损转换会降低质量。我更喜欢在GIMP中打开文件,旋转它,然后使用“打印为文件”进行打印选项。这是我找到的最好的解决方法。
-compress jpeg
对我来说很有效。我的问题是文件大小。如果pdftk不可用,您可能需要查看pdfjam,它看起来非常类似于另一个有趣的选项,如果您不喜欢命令行,那么pdfsam
convert
可以工作并且可以无损压缩(这实际上根据编码减少了文件大小)。
convert -rotate 90 -compress lossless 08-file.pdf 08-file-rotated.pdf
pdftk  08-file.pdf cat 1-endright output 08-file-rotated.pdf
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
#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