最小限のアプローチを楽しんでいるので、私はzathuraを使用していますが、これが私の問題を解決する場合は、mupdfまたは他のものに切り替えます。
すべての単語(PDFおよびepub文書))を最初から最後まで1つずつ強調表示する必要があります。これは、何らかの動きがある場合、テキストに集中できるためです。すべての単語に一致する正規表現検索を実行することはありましたが、zathuraもmupdfも検索の正規表現をサポートしていません。これを行う方法はありますか?
私はzathuraをフォークしようとしますが、正直に言うと、必要なことを実行する別の最小限のGnu/Linux互換ドキュメントビューアーがある場合、その時間を費やしたくないのです。そして、pdfgrep
のようなターミナルツールを使用して、ザスーラで結果を強調表示する方法があれば、それも機能します。
Zathura Wikipedia page によると:
Zathuraはテキストを検索し、プライマリX選択にテキストをコピーできます
これは、あなたが読んだときにテキストを選択する機能が組み込まれていることを意味しますが、おそらくマウスが必要です(キーボード制御の選択の解決策を見つけるのは難しいでしょう).
どのくらいミニマリストが必要ですか?私は Atril を使用しています Evince (GNOMEドキュメントビューアー)のやや軽いフォークです。 Atrilは MATE Desktop (GNOME 2の続き)の一部として作成されました。 GTK +への依存関係はまだ残っていますが、かなり軽量です。
別のオプションは Xpdf アプリケーションです。 WikipediaのPDFソフトウェア§LinuxおよびUnix)のリスト も参照してください。
pdfgrep のようなコマンドラインツールを除いて、私が知っている唯一の(使用可能な)正規表現検索実装は、実際にはWebブラウザーです。これはそれほど有用な解決策ではありませんが、Firefoxでの解決策は次のとおりです:FirefoxでPDFを開き、開発者ツールのJavaScriptコンソール(F12またはCtrl + Shift + K)を開きます。次のコマンドを実行します。
_» pdf = document.getElementById("viewer").innerText.replace(/[ \t]+/g, " ");
» function grep(what, context=100) { return pdf.match(RegExp(`[\\s\\S]{0,${context}}${what}[\\s\\S]{0,${context}}`), "img"); }
» grep("put your regex here")
» grep("get more context", 300)
_
バックスラッシュをエスケープする必要があることに注意してください。 grep
コマンドには、オプションの2番目の引数である、両側に提供するコンテキストの文字数(デフォルト= 100)があります。
組み込みのChromeなどのブラウザPDFビューアはかなり似ているはずですが、実際のPDFコンテンツを保持するHTMLオブジェクトを把握する必要があります。これは、Firefoxの_id="viewer"
_要素です。他の要素については不明です。最悪の場合は、document.getElementById("viewer")
ではなく_document.body
_を使用してください。目次の項目と一致する場合があります。)
私が間違っていない場合、Adobe Acrobat Reader
には、各単語を最初から最後まで選択するread out loud
という関数があります。