オライリージャパンで公開されている「GNU Make 第3版」のpdfをダウンロードして1つのpdfファイルにまとめる

以下のTweetで知ったので

これは注文した後にオライリーのサイトで無料で公開されてるのを見つけて届くまでに読み終わった本 pic.twitter.com/Rb86ipy4Kh

— tokkyo (@tokkyo) January 24, 2021

読んでみようと以下のページからダウンロードしようとしたら章ごとにファイルが分割されていました．

O’Reilly Japan – GNU Make 第3版

ダウンロードしてpdftkで結合して1つのファイルにまとめてみました．

$ w3m -o display_link_number=1 https://www.oreilly.co.jp/library/4873112699/ | grep \\.pdf$ | grep -v catalog | cut -f2 -d\ | wget --wait=30 --random-wait -i - (1)
$ wget https://www.oreilly.co.jp/books/images/picture_large4-87311-269-9.jpeg (2)
$ convert ./picture_large4-87311-269-9.jpeg ./hyoushi.pdf (3)
$ ls *.pdf
appA.pdf ato.pdf ch03.pdf ch06.pdf ch09.pdf ch12.pdf index.pdf
appB.pdf ch01.pdf ch04.pdf ch07.pdf ch10.pdf contents.pdf mae.pdf
appC.pdf ch02.pdf ch05.pdf ch08.pdf ch11.pdf hyoushi.pdf maegaki.pdf
$ pdftk ./hyoushi.pdf ./mae.pdf ./maegaki.pdf ./contents.pdf ./ch01.pdf ./ch02.pdf ./ch03.pdf ./ch04.pdf ./ch05.pdf ./ch06.pdf ./ch07.pdf ./ch08.pdf ./ch09.pdf ./ch10.pdf ./ch11.pdf ./ch12.pdf ./appA.pdf ./appB.pdf ./appC.pdf ./index.pdf ./ato.pdf cat output "./GNU Make 第3版.pdf" (4)
$ pdfinfo ./GNU\ Make\ 第3版.pdf
Creator: pdftk-java 3.1.1
Producer: itext-paulo-155 (itextpdf.sf.net-lowagie.com)
CreationDate: Tue Jan 26 07:56:56 2021 JST
ModDate: Tue Jan 26 07:56:56 2021 JST
Tagged: no
UserProperties: no
Suspects: no
Form: none
JavaScript: no
Pages: 298
Encrypted: no
Page size: 516 x 660 pts
Page rot: 0
File size: 20356655 bytes
Optimized: no
PDF version: 1.6
$ rm ./hyoushi.pdf ./mae.pdf ./maegaki.pdf ./contents.pdf ./ch01.pdf ./ch02.pdf ./ch03.pdf ./ch04.pdf ./ch05.pdf ./ch06.pdf ./ch07.pdf ./ch08.pdf ./ch09.pdf ./ch10.pdf ./ch11.pdf ./ch12.pdf ./appA.pdf ./appB.pdf ./appC.pdf ./index.pdf ./ato.pdf

pdfファイルをダウンロード

表紙画像をダウンロード

表紙画像をpdfに変換

pdftkで全ファイルを結合

pdftkはsnapでも導入できるそうです．

本を読む PDFtkはUbuntuのsnapで使える

関連URL

O’Reilly Japan – Library

linux:pdf:edit [wiki.matoken.org]

環境

$ dpkg-query -W pdftk imagemagick wget w3m
imagemagick 8:6.9.11.58+dfsg-1
pdftk 2.02-5+b1
w3m 0.5.3+git20210102-2
wget 1.21-1+b1
$ lsb_release -dr
Description: Debian GNU/Linux bullseye/sid
Release: unstable
$ uname -m
x86_64