国立国会図書館デジタルコレクションの蔵書をダウンロードしてローカルで読む際余白が邪魔なので消しました.
まず,十全に国立国会図書館デジタルコレクションを利用するためには国立国会図書館の利用者登録(個人)の本登録をしておきましょう.
現在は現地に行かずとも遠隔で本登録まで可能です.便利になりましたね.
国立国会図書館デジタルコレクション で読みたい本を検索,ログイン( 登録利用者ID,パスワード )
右下の印刷で印刷範囲を指定して「印刷ファイルを開く」で該当範囲の pdf ファイルを作成,
上部に 「ファイルを作成しています…」 のメッセージが表示され,しばらく待つと 「印刷用ファイルを作成しました。右のリンクからPDFファイルを表示できます。」に変わるので 「PDFファイルを開く」 からダウンロードします.
Note
|
50コマを超えている場合は「範囲を指定」で |
ダウンロードした PDF ファイルは下部に 登録利用者ID, 利用者名,生成年月日時分秒 が画像に埋め込まれています.
PDF ファイルはこんな感じでした.2481 x 1732.5 pts 50コマ(100ページ分)で37MB程.
$ pdfinfo digidepo_2530201_0001-001-050.pdf Title: 宇宙船ビーグル号の冒険 Keywords: A.E.ヴァン・ヴォークト 著 ほか『宇宙船ビーグル号の冒険』,東京創元社,1964.2(43刷:1999.10). 国立国会図書館デジタルコレクション https://dl.ndl.go.jp/pid/2530201 (参照 2024-05-02) Author: A.E.ヴァン・ヴォークト 著 Producer: PyPDF2 CreationDate: Thu May 2 00:30:21 2024 JST ModDate: Thu May 2 00:30:21 2024 JST Custom Metadata: no Metadata Stream: no Tagged: no UserProperties: no Suspects: no Form: none JavaScript: no Pages: 50 Encrypted: yes (print:yes copy:no change:no addNotes:no algorithm:AES-256) Page size: 2481 x 1732.5 pts Page rot: 0 File size: 36676525 bytes Optimized: no PDF version: 1.7
Encrypted で print:yes copy:no change:no addNotes:no でパスワードもわからないので,tdftk は使えません.
Error: Invalid PDF: unknown.encryption.type.r Error: Failed to open input PDF file:
print は出来るので mcomix でも読めます.ということで pdfimages
で中の画像の取り出しは出来ました.
$ pdfimages -all digidepo_2530201_0001-001-050.pdf 2530201/2530201 $ ls 2530201/ 2530201-000.jpg 2530201-004.jpg 2530201-008.jpg 2530201-012.jpg 2530201-016.jpg 2530201-020.jpg 2530201-024.jpg 2530201-028.jpg 2530201-032.jpg 2530201-036.jpg 2530201-040.jpg 2530201-044.jpg 2530201-048.jpg 2530201-001.jpg 2530201-005.jpg 2530201-009.jpg 2530201-013.jpg 2530201-017.jpg 2530201-021.jpg 2530201-025.jpg 2530201-029.jpg 2530201-033.jpg 2530201-037.jpg 2530201-041.jpg 2530201-045.jpg 2530201-049.jpg 2530201-002.jpg 2530201-006.jpg 2530201-010.jpg 2530201-014.jpg 2530201-018.jpg 2530201-022.jpg 2530201-026.jpg 2530201-030.jpg 2530201-034.jpg 2530201-038.jpg 2530201-042.jpg 2530201-046.jpg 2530201-003.jpg 2530201-007.jpg 2530201-011.jpg 2530201-015.jpg 2530201-019.jpg 2530201-023.jpg 2530201-027.jpg 2530201-031.jpg 2530201-035.jpg 2530201-039.jpg 2530201-043.jpg 2530201-047.jpg $ file 2530201/2530201-001.jpg 2530201/2530201-001.jpg: JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, baseline, precision 8, 3308x2310, components 3
余白が気になるので Imagemagick の trim でカットします.正攻法だと座標を指定しますが,今回は fuzz で Imagemagick に頑張ってもらいます.
fuzz の % は画像により丁度いい値を探す必要があります.今回は 60% で良さそう.
$ convert 2530201/2530201-001.jpg -fuzz 60% -trim 2530201-001-trim.jpg
余白がカットされ,3308×2310 → 2831×2099 になりました.いい感じそうなので mogrify で全画像に反映して1つのアーカイブにまとめました.
$ mogrify -fuzz 60% -trim 2530201/* $ find 2530201 | sort -V | zip -@0 ./宇宙船ビーグル号の冒険.zip
50コマ以上の資料で,2つ以上のアーカイブの場合は2つ目以降の PDF を同様に変換を繰り返してアーカイブに追加します.ただ, pdfimages
で生成されるファイル名が被ってしまうので rename
コマンドなどでファイル名を変更します.
$ rm 2530201/* (1) $ pdfimages -all ./digidepo_2530201_0001-051-100.pdf 2530201/2530201 (2) $ rename 's/(\d+)-(\d+)/sprintf "$1-%03d",$2 + 50/e' 2530201/* (3) $ mogrify -fuzz 60% -trim 2530201/* (4) $ find 2530201 -print | sort -V | zip -@0 ./宇宙船ビーグル号の冒険.zip (5)
- 古いデータを削除
- PDF 画像を取り出し
- 連番部分を 50 加算したファイル名に改名
- 余白削除
- 非圧縮で zip アーカイブに追加
タブレット端末で MComix で閲覧するといい感じそうです.ちょっとサイズが大きいので縮小したり,互換性のために PDF 形式にしたりしても良さそうです.
スマホなどで読む場合はさらに真ん中から2分割したら良さそうですが,ざっと見た感じのどが中央に揃っているわけではないので少し面倒そうです.
$ dpkg-query -W imagemagick zip poppler-utils rename imagemagick 8:6.9.12.98+dfsg1-5.2 poppler-utils 22.12.0-2.2+b1 rename 2.02-1 zip 3.0-13 $ lsb_release -a No LSB modules are available. Distributor ID: Debian Description: Debian GNU/Linux trixie/sid Release: n/a Codename: trixie $ arch x86_64
One thought to “国立国会図書館デジタルコレクションの蔵書の画像の余白を削除して読みやすくする”