横向きのドキュメントをスキャンすると、出力PDFファイルは縦長なので、すべてのPDFビューアはスキャンしたドキュメントを縦長で表示します。
コマンドラインから、PDFファイルを90度回転させますか?
私は検索してたくさんのソリューションを見つけましたが、安定した/堅牢なlinux/unixツールを使用する信頼できるソリューション[1]のように見えるものを見つけるのに苦労しました。
脚注[1]
たとえば、ここに私が見つけた無計画な解決策のいくつかのサンプルがあります:
Pdftkを使用してください。
時計回りに回転する場合:
pdftk input.pdf cat 1-endeast output output.pdf
反時計回りに回転する場合:
pdftk input.pdf cat 1-endwest output output.pdf
Fedoraへのpdftkのインストールに関して、私は this link を見つけました。
私はこのスレッドに偶然遭遇し、まだ言及されている良い解決策がないことを知りました。 (少なくともDebianとUbuntuでは)pdfjamには次のコマンドが付属していることがわかりました。
pdf90 input.pdf
pdf180 input.pdf
pdf270 input.pdf
それが最も簡単で最速のアプローチだと思います。これらは、pdfjamコマンドを適切に使用するスクリプトです。ところでpdfjamはtexlive-extra-utils
に付属する仮想パッケージです
Linux Mint 18.3(他のDebian派生ディストリビューションも信じています)には、QPDF
という名前のシンプルなコマンドラインツールがあります。
使用できます:qpdf in.pdf out.pdf --rotate==[+|-]angle[:page-range]
。
ドキュメントから :
--rotate = [+ |-]角度[:ページ範囲]
指定したページに回転を適用します。オプション値のページ範囲部分は、セクション3.5「ページ選択オプション」のページ範囲と同じ形式です。ページ範囲が省略された場合、回転はすべてのページに適用されます。パラメータの角度部分は、90、180、または270のいずれかです。+または-が前に付いている場合、指定されたページの元の回転に角度が追加または減算されます。それ以外の場合、ページの回転は正確な値に設定されます。たとえば、コマンド
qpdf in.pdf out.pdf --rotate=+90:2,4,6 --rotate=180:7-8
は、ページ2、4、および6を元の回転から時計回りに90度回転させ、ページ7の回転を元の回転に関係なく強制的に180度にし、コマンドqpdf in.pdf out.pdf --rotate=180
は、すべてのページを180度回転します。
ImageMagickを使用できます:display
またはconvert
-例時計回りに回転させるには
convert -rotate 90 <file>.pdf <rotated-file>.pdf
反時計回りの回転には-90を使用します。
N.B. Only元の画像がビットマップの場合(たとえば、スキャンによって生成された場合)にこのメソッドを使用します。元の画像がビットマップでない場合、このメソッドはそれを1に変換し、品質が低下します。後者の場合、他の回答のいずれかの方法を使用してください。
pdftkは、廃止予定の依存関係のため、Ubuntu 18.04では使用できなくなりました。
私が見つけた最良の解決策は(グラフィカル)ツールpdfshufflerでした。
インストールして実行します。目的のPDFファイルを開き、ページを右クリックして、それぞれを個別に回転させます。また、PDFやその他の素敵なものを照合します。
Sudo apt install pdfshuffler
出力解像度を改善するため(デフォルトは72 DPI)、次のようにして良い結果が得られました。
convert -rotate -90 -density 200 input.pdf output.pdf
これは、スキャンしたドキュメントの.pdf用でした。見つけた -density 300
品質がやや低下-density 200
。
これには制限がありますが、特にPDFスキャンの回転)には、PDFeditをよく使用します。ImageMagickの変換(かなり高密度の値を使用)は、かなり良い品質を達成しますが、それも膨らみますファイル(元:155 kiB、180度回転したコピー:1.2 MiB)PDFeditは、ファイルサイズを著しく変更することなく、品質を変えずに同じ画像を回転します。
私はこのコマンドを使用して、最初にPDFファイルが直立していない場合、PDFファイルを自動的に回転して直立させます。
gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -dAutoRotatePages=/All -sOutputFile="$outputFile" "$file"
この質問の解決策ではありませんが、ソフトウェアをインストールしたり、別のWebサイトを使用したりせずにローテーションする方法を見つけました
Ubuntuには、pdfを画像に変換するpdfimagesが付属しています
pdfimages input.pdf output
UbuntuにはImages Viewerも付属していますview、rotateおよびpdfに出力画像