縦書きPDFをコピーすると、文字の順序がバラバラになる

縦書きのPDFからテキストを抜き出してコピーしようとすると、文章の順序が正しく取れないことがあります。縦書きのレイアウトでは右から左へと列が並んでいますが、PDFの内部データはその並び順をそのまま保存していないケースがあり、コピーすると意味が通じない文字列になってしまいます。

同人誌の原稿引用や、縦書き小説のテキスト取得が必要になったとき、この問題に何度かぶつかりました。手動で並べ直すのは文量が多いと現実的ではなく、なんとかならないかと思っていました。

列ごとの座標情報を使って並び替える

PDFからテキストを抽出するとき、文字ごとの座標情報も一緒に取得できます。この座標情報を使えば、縦書きの列の並び順(右から左)を判断し、正しい読み順に並べ替えることができます。

ツールでは、この考え方を実装しています。PDFを読み込むと、列ごとにテキストをまとめ、右列から左列の順に結合して横書きのテキストとして出力します。完璧ではないケースもありますが、手動で並べ直すよりは大幅に時間を短縮できます。

プライベートな文書にも使いやすいように

このツールも、処理はすべてブラウザ内で完結します。PDFファイルを外部サーバーに送信することはありません。個人的なメモや未発表原稿のPDFを扱う際も、安心して使えるようにしています。インストールなしにブラウザだけで動くので、手軽に試してもらえます。