Evernoteに格納できるようにPDFを分割する

プレミアムを使用すれば月の使用容量は500MBまでに拡張されるが、それでも
1ノート20MBの制限はある。
そのためEvernoteに格納するには、20MB以下に分割しなければならない。
ScanSnapで雑誌をスキャンしたファイルはまとめてしまったので、
ほとんど20MBを超えている。
時間がかかるのはまだいいが、GUIで1つ1つ分割してもいいのだがメンドウだ。。。
なので、コマンドを使って分割したい。

  • 方針
    • ページ取得→半分のページ数を求める→半分に分割。
    • これでも20MBを超えるならまた半分にする。


pdftkを使用すれば、ページ数の取得も分割もコマンドで実行できるようだ。


pdftkコマンドの入手

pdftkからダウンロード
今回はWindows版をダウンロード

ページ数の取得

pdftk PDFファイル名 dumpdata

NumberOfPagesの項目がページ数

InfoKey: Creator
InfoValue: "PFU ScanSnap Manager 3.2.10"
InfoKey: Producer
InfoValue: Adobe PDF Scan Library 1.1.1
InfoKey: ModDate
InfoValue: D:20061210111221+09'00'
InfoKey: CreationDate
InfoValue: D:20061210111221+09'00'
PdfID0: deef52232142ca40b22924ee53da130
PdfID1: ac4f3de60dbeb469f8bcf6055241a2
NumberOfPages: 164
---->8 省略 8<----

分割

pdftk オリジナルのPDFファイル名 cat ページ範囲 output 分割したPDFファイル名

バッチファイル

div2pdfというバッチファイルを作成した。
これでカレントディレクトリにあるpdfファイルをファイル名_1.pdf、ファイル名_2.pdf
に 2分割できる。

@echo off
for /F  %%i in ('dir /b *.pdf') DO CALL :GET_PAGE_NUM %%~ni
GOTO :END

:GET_PAGE_NUM
REM %1 ファイル名(拡張子なし)
for /F "tokens=2 delims=:" %%i in ('pdftk %1.pdf dumpdata^|findstr NumberOfPages') DO CALL :DIV %1 %%i
GOTO :EOF

:DIV
REM %1 ファイル名(拡張子なし)
REM %2 ページ数

SET /A HALF=%2/2
SET /A LAST_HALF=%HALF%+1

call pdftk %1.pdf cat 1-%HALF% output %1_1.pdf
call pdftk %1.pdf cat %LAST_HALF%-end output %1_2.pdf

GOTO :EOF


:END

実行例

[C:\Documents and Settings\orangeclover\デスクトップ\pdf]dir /b
HogeWorld200506.pdf
HogeWorld200602.pdf
HogeWorld200604.pdf

[C:\Documents and Settings\orangeclover\デスクトップ\pdf]div2pdf
div2pdf HogeWorld200506.pdf total:188 half:94
div2pdf HogeWorld200602.pdf total:186 half:93
div2pdf HogeWorld200604.pdf total:162 half:81

[C:\Documents and Settings\orangeclover\デスクトップ\pdf]dir /b
HogeWorld200506.pdf
HogeWorld200506_1.pdf
HogeWorld200506_2.pdf
HogeWorld200602.pdf
HogeWorld200602_1.pdf
HogeWorld200602_2.pdf
HogeWorld200604.pdf
HogeWorld200604_1.pdf
HogeWorld200604_2.pdf

その他

  • 20MB以下になってじゃないか!

→もう1回実行すればいいじゃないかな。

Evernoteに入れるならファイル名なんて気にしないくていいじゃないかな。