17

我想旋转08-file.pdf使用 CLI 工具命名的 351K PDF。我试过imagemagick

convert 08-file.pdf -rotate 90 08-file-rotated.pdf

但原始质量:

在此处输入图像描述

遭受严重退化:

在此处输入图像描述

我试过添加-density 300x300参数,但结果是一个 250 万的文件,比原来的文件大了近一个数量级,这是一个巨大的浪费。

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

4

2 回答 2

12

在使用 imagemagik/convert 转换/更改 pdf 文件(分辨率不佳或文件很大)时,我总是遇到不好的结果。使用选项-compress -density -quality总是令人沮丧和浪费时间(但我不是专家)。

提案一:pdftk

所以我会推荐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年编辑

提案2:qpdf

我找到了另一种等效的替代方法: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非常相似

pdfsam

这是一个使用 GUI(图形用户界面)修改 pdf 文件的工具箱。

代码是开源和多平台的。

在此处输入图像描述

于 2018-08-15T12:51:56.847 回答
3

请使用-compress lossless选项:

convert -rotate 90 -compress lossless 08-file.pdf 08-file-rotated.pdf

来自文档: https ://www.imagemagick.org/script/command-line-options.php#compress

Lossless 是指无损 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

于 2017-04-28T15:45:22.927 回答