Tre*_*ith 111 command-line pdf pdftk poppler
当我扫描横向文档时,输出的 PDF 文件是纵向的,因此所有 PDF 查看器都以纵向显示扫描的文档。
从命令行,如何将 PDF 文件旋转 90 度?
我尝试搜索并找到了一堆解决方案,但我很难找到看起来像是使用稳定而强大的 Linux/Unix 工具的权威解决方案 [1]。
脚注 [1]
例如,这里是我发现的一些随意解决方案的示例:
小智 102
只需使用PDFtk。
顺时针旋转:
pdftk input.pdf cat 1-endeast output output.pdf
Run Code Online (Sandbox Code Playgroud)
逆时针旋转:
pdftk input.pdf cat 1-endwest output output.pdf
Run Code Online (Sandbox Code Playgroud)
关于在 Fedora 上安装 PDFtk,我找到了这些链接:
小智 80
我只是偶然发现了这个线程,发现还没有提到好的解决方案。我发现(至少在 Debian 和 Ubuntu 上)pdfjam 带有以下命令:
pdf90 input.pdf
pdf180 input.pdf
pdf270 input.pdf
Run Code Online (Sandbox Code Playgroud)
我认为这是最简单和最快的方法。这些是正确使用 pdfjam 命令的脚本。顺便提一句。pdfjam 是一个虚拟包,附带texlive-extra-utils
更新
上述命令从pdfjam3.02 版开始被删除,现在在包中可用(但未维护)pdfjam-extras。使用的直接命令pdfjam(如评论中所述)分别是:
pdfjam --landscape --angle 90 input.pdf
pdfjam --angle 180 input.pdf
pdfjam --landscape --angle 270 input.pdf
Run Code Online (Sandbox Code Playgroud)
小智 52
在 Linux Mint 18.3(我也相信其他 Debian 派生发行版)中,您有一个名为qpdf.
您可以使用:qpdf in.pdf out.pdf --rotate=[+|-]angle[:page-range]。
从文档:
--rotate=[+|-]angle[:page-range]
对指定页面应用旋转。选项值的页面范围部分与第 3.5 节“页面选择选项”中的页面范围具有相同的格式。如果省略页面范围,则旋转应用于所有页面。参数的角度部分可以是 90、180 或 270。如果前面有 + 或 -,则角度将被添加到指定页面的原始旋转中或从中减去。否则页面的旋转设置为精确值。例如,该命令
qpdf in.pdf out.pdf --rotate=+90:2,4,6 --rotate=180:7-8会将第 2、4 和 6 页从其原始旋转方向顺时针旋转 90 度,并强制将第 7 到 9 页旋转到 180 度,而不管其原始旋转如何,并且该命令qpdf in.pdf out.pdf --rotate=180会将所有页面旋转 180 度。
Nic*_*ckD 26
您可以使用 ImageMagick:display或convert- 例如顺时针旋转使用
convert -rotate 90 <file>.pdf <rotated-file>.pdf
Run Code Online (Sandbox Code Playgroud)
使用 -90 进行逆时针旋转。
注意仅当原始图像是位图时(例如通过扫描产生)才使用此方法。如果原始图像不是位图,则此方法会将其转换为位图,并且质量会受到影响。在后一种情况下,请使用其他答案中的一种方法。
小智 16
由于某些不推荐使用的依赖项,pdftk在 Ubuntu 18.04 上不再可用。
我发现的最佳解决方案是(图形)工具 pdfshuffler pdf编排器*.
安装(参见https://github.com/pdfarranger/pdfarranger 中的安装步骤)并运行它。打开所需的 PDF 文件,选择要旋转的文件,然后单击标题栏中的旋转按钮(或使用右键单击菜单)。它还可以连接 PDF 和其他一些不错的东西。
* pdfarranger 是废弃的 (?) pdfshuffler 的一个分支
小智 8
为了提高输出分辨率(默认为 72 DPI),我得到了很好的结果:
convert -rotate -90 -density 200 input.pdf output.pdf
Run Code Online (Sandbox Code Playgroud)
这是用于扫描文档的 .pdf 文件。我发现-density 300与-density 200.
qpdf效果很好,速度超快!:在 Ubuntu 20.04 上使用qpdf 版本 8.0.2 进行了测试(请参阅参考资料qpdf --version),但我怀疑它也可以在 Ubuntu 18.04、16.04 和 14.04 上正常工作,因为我qpdf在所有这些系统上也以其他方式使用过。
sudo apt update
sudo apt install qpdf
# Rotate in.pdf +90 deg and save as out.pdf
qpdf --rotate=+90 in.pdf out.pdf
# Rotate in.pdf -90 deg and save as out.pdf
qpdf --rotate=-90 in.pdf out.pdf
# Rotate in.pdf +/-180 deg and save as out.pdf
qpdf --rotate=+180 in.pdf out.pdf
Run Code Online (Sandbox Code Playgroud)
该手册页(man qpdf)显示非常小,但它做什么节目是非常重要的。这是它末尾的关键部分(添加了强调):
有关 qpdf 选项的摘要,请运行
qpdf --help. 一个完整的手册中可以找到/usr/share/doc/qpdf/qpdf-manual.html或/usr/share/doc/qpdf/qpdf-manual.pdf。
因此,请阅读本地存储在您计算机上的完整手册!这是链接。将它们复制并粘贴到浏览器的地址栏中以打开它们:
要查看帮助选项,请qpdf --help改为运行。或者,更好的是,管道到less:
qpdf --help | less -RFX
Run Code Online (Sandbox Code Playgroud)
然后您可以按/并搜索--rotate。这是帮助页面的一个片段:
Run Code Online (Sandbox Code Playgroud)--rotate=[+|-]angle[:page-range] rotate each specified page 90, 180, or 270 degrees; rotate all pages if no page range is given
和:
该
--rotate标志可用于指定将页面旋转 90、180 或 270 度的页面。页面范围以与--pages选项相同的格式指定,如下所述。重复该选项以旋转多组页面。如果角度前面有+或-,则将其添加到原始旋转中或从中减去。否则,将旋转角度明确设置为给定值。
qpdf --help | less -RFX| 归档时间: |
|
| 查看次数: |
93647 次 |
| 最近记录: |