人生リアルタイムアタック

当面はPython学習帳

El CapitanのPreviewでKindle用にイイカンジにPDF圧縮する

手持ちの自炊したPDFや、PDF購入した電子書籍Kindle Paperwhiteでも読みたいのでイイカンジ圧縮したい。

しかし、Previewのファイルサイズ圧縮は低解像度過ぎる。
ということで、従来はColorSync Utilityで新しいフィルターを追加するというやり方があったが、El Capitanだと新規に追加したフィルターがPreviewで選択できず、選択可能にするにはCLIでsudoしたりしないといけない。

で、GUI操作の為にTerminal使うのはちょっと違うなと思ったので、標準アプリケーションのみでGUI操作で完結する方法を模索。

環境

  • Kindle Paperwhite 第7世代(2015年以降のモデル, 300ppi, 1,072×1,448)
  • OS X El Capitan
  • Kindleパーソナルドキュメントは50MBまでだけど、Gmailは25MBまでだから実質25MBに圧縮しないといけない人。

解決策

Automatorを使う。

手順

1. ColorSync UtilityでKindle用のフィルタを追加する

元々あるフィルタ'Reduce File Size'を複製し、Kindle用のフィルタを作成する。
今回は'for Kindle'という名前にした。

Web上の情報から、 Image Sampling > Max の値を元の512pxより大きくするとより解像度が上がることが分かっていたので、今回はKindle Paperwhiteの横解像度と同じ1072pxに指定したフィルタを作成した。 f:id:ShineSpark:20160527165453p:plain

2. Automatorアプリケーションを作成する

Kindle用のフィルタをPreview上で利用可能にするにはuser以下のlibralyディレクトリのフィルタを/System/Library/Filters/に移動させる必要があるのでめんどい。カンタンにAutomatorアプリケーションを作成する。

まず、Automatorを立ち上げる。Spotlight便利。

f:id:ShineSpark:20160527171207p:plain

新規にアプリケーションを選択する。

f:id:ShineSpark:20160527171241p:plain

アクションを登録していく。今回登録するアクションは以下の4つ。

  • Ask for Finder Items でどのファイルかを尋ねるようにする
  • Filter Finder Items で念の為PDFファイルのみに限定する
  • Copy Finder Items で元々のPDFファイルをデスクトップに複製する
  • Apply Quartz Filter to PDF Documents でコピーしたPDFファイルにフィルタを適用する

を行う。日本語でのアクション名はそれっぽいものを探してください。

f:id:ShineSpark:20160527171416p:plain

右上の 'Run' ボタンからテスト実行できるので、それで実際にどのように動作するのか確認しながら作るとよい。

上手く動作したらイイカンジの名前を付けて保存。

3. 使う。

アプリケーションとして保存したので、以後は作成したAutomatorアプリケーションを実行してPDF圧縮を行う。
イイカンジの名前を付けておくと、Spotlightから呼び出しやすい。

f:id:ShineSpark:20160527172407p:plain

上記すらだるい人

USBでKindleを繋いで同期しましょう。50MB越えてても大丈夫です。

Amazon.co.jp ヘルプ: USB経由でFireタブレットまたはKindle端末にパーソナル・ドキュメントを転送する

手持ちのPDF書籍の閲覧には多少工夫が入りますが、'本を読む' には軽さやバッテリー持ちの良さからiPadよりKindleの方が便利です。まだ買ってない人は買いましょう。

手頃な値段なので、ケースも保証も要らないです。壊れる頃には新世代のものが出てるので新しいのを買いましょう。 アダプタも他のUSBアダプタで代用できるので改めて買う必要はないです。

広告有無は1タップ減るので広告無し版を買いましょう。

Kindle Paperwhite Wi-Fi、ブラック

Kindle Paperwhite Wi-Fi、ブラック

参考