縦書きPDFのテキストを、横書きWriter文書に投下したい

例えば下記リンクのPDFの縦書きテキストを、Writer文書に横書き投入する方法アイデアを探しています。

私はWriterを文書の作成のみならず、
文章の読解補助ツールとしても使っています。
それが難解な文章なら、Writerに貼り付けて、内容を咀嚼しやすいように論理を整理しながら読んでいます。
ひいては、読み手にそれを見える化するWriterテンプレ制作を趣味研究中です。

しからば、そのテンプレの効果測定として、大学入試の現代文問題を使ってみようと考えました。
試験問題ならば、少々難解な論理構造の文章が故意に選ばれているのだろうと期待するからです。
ついては、一例として公式から上記PDFをダウンロードしたら、縦書きだった次第
(国語だろうが、いまだに縦書きスタイルで出題していたとは驚き)

したがって、こういう縦書きテキストを変換して、私のWriterテンプレ(当然横書き)に貼り付けて読解してみたいのです。
縦書き過去問が沢山あるので、都度使える手順としてのお知恵を拝借したく
よろしくお願いいたします。

なお、代替情報として、下記紹介でもとてもありがたいです。(Writerとは無関係になりますが)
・縦書きPDFのテキストを横書きに変換するサイトURL・・・私では見つからなかった
・既に横書きの現代文過去問を掲載しているサイトURL・・・同じく。

使用環境は
LinuxディストリビューションのプレインストールLibreOffice6.4です。
私は、以上のようにWriterを常時起動してプラットフォーム的に使うので、これ↓にも悩んでいます。

門外漢ですが、面白そうなので少し試してみました。


百もご承知でしょうが、残念ながら例題のPDFのテキストは既に「文章」ではなく図形要素としての「文字」の羅列になってしまっているようで、Draw同様、pdftotextやxdoc2txtのようなテキスト抽出ツールでは一文字ずつ改行されてしまって使い物になりませんね…。
文字列置換でうまく改行を取り除けば(正規表現で「\n([^\n])」→「$1」とか)、ある程度それっぽくなりますが、ちょっと実用とは言えなさそうです。
pdftotextでテキスト抽出し、テキストエディター(Mery)で上記改行置換してからWriterに読み込んでみた例です(.txtファイルはここアップロードできないみたいなので…。
2021_oy_01_kokugo pdftotext 改行正規置換.odt (37.0 KB)
(ここで話すなら置換もWriterでやればよかったな…と思ったら、\nは段落末にヒットしなくて出来ない 汗。)


素人考えですが、縦書きPDFのテキスト化は、下手に「文書変換」と考えるよりも、力技のOCRを利用する方が現実的なんじゃないかなと、なんとなく思ったりしています。OCRなら縦書き対応のものもあるでしょう、たぶん。

「OCR」で検索するといろいろ引っかかります。フリーやPDF対応のものもありそうでした。
Googleドライブ+GoogleドキュメントにもOCR機能があるっていうので少し試してみたところ、一応そこそこ読み取ってくれているようでした。例題のPDFだと、直接Googleに上げるよりも、ラスター画像化して上げた方が良いかも知れません(突き詰めては検証してませんが…)。
サイトの素性は分かりませんが、「ONLINE OCR」なんていうオンラインツールもあったので試してみたところ、レイアウトはめちゃくちゃながら、一応文字列は拾ってくれるようです。


いずれにせよ、変換の精度に限界があることは腹においておく必要があるでしょうね。

以上。ご参考まで。

3 Likes

早速返信頂戴し御礼申し上げます。
多角的に試行いただきまして心強いです。
これからそのそれぞれを試してみます。
ありがとうございます。

1 Like

私の結果ご報告させていただきます。

Block素人考えですが、縦書きPDFのテキスト化は、下手に「文書変換」と考えるよりも、力技のOCRを利用する方が現実的なんじゃないかなと、なんとなく思ったりしています。OCRなら縦書き対応のものもあるでしょう、たぶん。
(中略)
サイトの素性は分かりませんが、「ONLINE OCR」なんていうオンラインツールもあったので試してみたところ、レイアウトはめちゃくちゃながら、一応文字列は拾ってくれるようです。quote

テキストコード有る縦書きPDFをこの「ONLINE OCR」で、
「文書変換」でなく、あえてOCRするのが、
今後も手順として実用に耐えそうでした。
縦書き当該例題ファイルで正当認識率は95%といった肌感覚です。

相談した甲斐がありました。
あらためて、ありがとうございました。
他の手法を提案いただく余地を残しておきたく
まだクローズは先延ばしさせていただきます。
失礼御免ください。

2 Likes

Solutionフラグを立てさせていただきました。
ありがとうございました。

1 Like

すいません、見た当時アカウント持ってなかったもので今更クローズされてからのレスになりますが。
しかも冒頭の例題のリンクは切れてしまってて当時どうやったかはっきり思い出せないので、こちらの国語問題から改めて試してみました。

結果から言うとpdfの文字の並びの解釈ってブラウザなどによって全く異なるようで、chromeで表示させてコピペするとほぼ文章通り持ってゆけます。
※なぜか改行情報などは飛んでしまい、問題番号などもどっか行きますが。

当方Mac環境ですがSafariだと縦書きでも横方向に文字を拾ってコピーされ、うまく持っていけません。
(calcで一文字づつ区切ってセルに放り込めればなんとか整形の余地はあるかもしれません。)

Firefoxだと文章が一文字づつ改行されて縦にペーストされます。
あとから改行情報を削除するなどで文章として整形はできそうです。
あるいはcalcで形式を指定して貼り付け>テキストインポートダイアログで、「その他の記号」で¥nを指定してやることである程度まとまった文章になってくれました。

2 Likes

Firefoxだったので、1文字ずつ改行になりました。
ちなみに、改行(改段落)の置き換えはLibreOfficeの正規表現では"\n"ではなく、"$"でマッチしました。

  1. メニューから[編集]-[検索と置換]を選択
  2. 検索と置換ダイアログで「その他」の「正規表現」にチェックを入れて
  3. 検索に「$」を入れて置換えしました。
2 Likes

当該pdfはセキュリティ保護がかかっており、
印刷は許可されていますが内容のコピーは許可されていません。

コピーできた方が問題あるような気がします。