読者です 読者をやめる 読者になる 読者になる

それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

逆順に保存されたPDFのページを反対の順番にする。qpdf編

スキャンしたら、ページが逆!?

スキャンしたら、ページが逆になったことありませんか?わたしは適当にスキャンするのでよくあります。

ページが逆順になったPDFを、1ぺーじから順に反対順に印刷し、正順化するには、どうするのか。

PDFプリンタを使いますか?もっと簡単な方法があります。コマンドです。

qpdf でページを逆順に。

qpdf を使えば、かんたんにページを後ろから出力して、reverse することが出来ます。

qpdf --empty out.pdf --pages in.pdf z-1 --

とってもかんたん。そして速い!!

qpdf のインストール

macOS / OS X

brew install qpdf 

Debian GNU/Linux

apt install qpdf 

pdftk との速度比較

たった2ページを逆順にするだけでもコレくらい違います。

pdftk で処理した場合。

takuya@ページ順が逆$ time pdftk sample.pdf cat end-1 output out.tk.pdf

real    0m0.497s
user    0m0.156s
sys 0m0.093s

qpdf で処理した場合

takuya@ページ順が逆$ time qpdf --empty out.pdf --pages sample.pdf z-1 --

real    0m0.050s
user    0m0.008s
sys 0m0.025s

出来上がるファイルも特に差は無いようです。

takuya@ページ順が逆$ ls -l   out*
-rw-r--r-- 1 takuya staff 2391678 2017-04-17 22:06 out.qpdf.pdf
-rw-r--r-- 1 takuya staff 2391978 2017-04-17 22:06 out.tk.pdf

関連資料

PDFを逆順にソートして並べ直す(最初から最後のページを全部逆順に整列) - それマグで!

参考資料

https://inconsolation.wordpress.com/2014/03/24/qpdf-still-more-pdf-wizardry/

PDFを各ページに分割(切出)するコマンド pdfseparate

PDF から 指定ページを切出・分割したい。

スキャンしたPDFや、配布されたPDFを扱いたい。数百ページのPDFを1ページ毎に分割したい。指定ページだけのPDFを作成したい。

Nページ目からMページ目までのPDFを作りたい、NページをNファイルのPDFにしたいときにどうするか

pdfseparate コマンドを使うと便利

pdfseparate コマンドが便利。 poppler 由来のこのコマンドが目的に合致していて、確実にきれいな処理をしてくれる。

インストール

ぱぱっとコマンドで入れるのが楽で早い。

## macOS /OS X
brew info poppler
## GNU/Linux
apt install poppler-utils
## Windows
choco install xpdf-utils

使い方

超簡単にPDFをファイルに分割できる。覚え方もかんたん。

全ページをファイルに

pdfseparate 2017年04月10日17時43分54秒.pdf out.%d.pdf

指定ページをファイルにする。 ( 10-20 )

pdfseparate 2017年04月10日17時43分54秒.pdf  -f 10 -l 20 out.pdf

指定ページから先をファイルにする。

pdfseparate 2017年04月10日17時43分54秒.pdf  -f 10 out.pdf

ある1ページだけを切出したい

pdfseparate 2017年04月10日17時43分54秒.pdf  -f 10 -l 10  out.pdf

PDF の分割ができる

PDFを手作業で処理することは、MacOSXならプレビューで、Adobe Readerなどでも出来る。

ただしそれらは手作業でファイルを選んだりクリップボードを経由したりとても大変になって、自動化が追いつかない。

そのために、コマンドで自動化が出来るので是非試してください

その他のコマンド

pdftocairo pdftk を使っても同様のことが実現できます。

参考資料

github.comでサブディレクトリをダウンロードする。

git archive が通らない。

git レポジトリなら git archive で取り出せるのですが、github.com は現在(2017-04-07) のところ、git archive コマンドをサポートしてない模様

Invalid command: 'git-upload-archive 'takuya/sample.git''
  You appear to be using ssh to clone a git:// URL.
  Make sure your core.gitProxy config option and the
  GIT_PROXY_COMMAND environment variable are NOT set.

というわけで、サブディレクトリをまるっとダウンロードすることが出来ない。

svn を経由する

github.com のレポジトリは svn でもアクセスできるようになっているので svn export を使うと取り出せた。

svn exprot http://github.com/takuya/sample.git/trunk/path/to/directory 

これが現状マシな解決策のように思える。

git だけなら

git read-tree でバージョン管理をしながらいらないフォルダを不可視にしたり、git archive でtgz で取り出せたり、出来るんだけどねぇ

パスの指定方法

https://github.com/takuya/sample.git

のときは、master を指定して

https://github.com/takuya/sample.git/trunk
https://github.com/takuya/sample.git/trunk/path/to/sub/dir

と指定する。

関連資料

http://takuya-1st.hatenablog.jp/entry/2015/02/26/022139