iPadのPDF Viewer無料版で本を右綴じで読む方法
iPadでのPDFビューワーはもっぱらSideBooksを使っていましたが、業務用と個人用でアプリを分けたいと思いたち、Redditで評判の良かったPDF Viewer Pro by PSPDFKitを使い始めました。なかなか使い勝手が良かったのですが、無料版では本を開く方向を右綴じに変更できない点が難点でした。
有料版だとできるのですが、私がサブスクサービスを蛇蝎のごとく嫌っていることもあり、なんとか無料版で右綴じにできないか調べてみました。
解決方法
Adobeの公式PDFリファレンスにも記載のある通り、PDFファイルには ViewerPreferences/Direction というメタデータがあり、この値が R2L なら右綴じを意図していることを意味するらしいです。上記のPDF Viewerはこのメタデータをrespectして表示方向を決めるため、この値を変更してやればOKです。
肝心の変更方法ですが、Pythonなら pikepdf ライブラリを使えば瞬殺のようです。ChatGPTに聞いてみたところ、ものの数秒で以下のコードを返してくれました。
import pikepdf def set_viewer_preferences(input_pdf_path, output_pdf_path): with pikepdf.open(input_pdf_path) as pdf: pdf.Root.ViewerPreferences = pdf.make_dict(Direction='/R2L') pdf.save(output_pdf_path) input_pdf_path = 'input.pdf' output_pdf_path = 'output.pdf' set_viewer_preferences(input_pdf_path, output_pdf_path)
Githubには既にPythonやJava (docker化済)での実装があるようなので、これらを使わせていただいても良いと思います。上記の変更を施すことで、無事PDFファイルを右綴じにすることができました。
余談ですが、Apple Booksはこのメタデータをrespectせず、PDFは常に左綴じでの表示となるようでした(上下スクロールへの変更は可能でしたが)。12年以上前にCommunityに報告があるにもかかわらず未だ対応がなされていないので、おそらく最初から非英語圏を相手にしていないのだと思われます。シリコンバレーの非英語圏軽視は今に始まったことではありませんが、さすがにちょっとやるせない気持ちがありますね……。