web-dev-qa-db-ja.com

EvinceでPDFドキュメントのワードカウントを取得する

UbuntuのデフォルトのPDFビューアーであるEvinceで表示しているPDFドキュメントのワード数を取得する方法はありますか?ドキュメントをテキストファイルに変換し、ターミナルからワードカウントを取得できますが、ターミナルを使用せずにすばやくドキュメントにアクセスできるようになりたいです。これを行うことができるプラグインはありますか、それともすでに組み込まれていて、私はちょうどそれを見逃していますか?

追伸EvinceはUbuntuのデフォルトのPDFビューアーであるため、ビューアーを変更しないことを希望します。本当にいいです。

21
user2405

EvinceメーリングリストのOlaf Leidingerからの応答:

このような機能はドキュメントエディターに適していると思います。ドキュメントエディターはプレーンビューアーとしてより多くの情報を持っているため、単語のカウントは簡単です。 PDFファイルを例として取り上げます。テキストとして表示されるものは、実際にはある種のベクトルグラフィックシェイプです。テキストがPDFファイルに含まれている場合でも、表示されるこれらの単語は、複数の「位置(y、x)にテキストを描画する」コマンドで構成されている場合があります。ウムラウトまたは行末の場合。したがって、1つのWordは複数の単語としてカウントされる場合があります。したがって、このような機能を確実に実装するのは難しいと思います。 pdftotextを見て、私の意味を確認してください。
10
user2405

コマンドライン経由でこれを行うことができます:

pdftotext filename.pdf - | tr -d '.' | wc -w
29
Sid

zenity およびevinceを必要とする簡単なbashスクリプトはどうですか。引数なしで呼び出されると、ダイアログボックスが表示され、ファイルを選択できます。引数を付けて(または上記のダイアログボックスの後に)呼び出されると、ファイルを明示的に開き、Wordカウントのダイアログボックスを表示します。

言い換えると、以下をevince-Word-count.shなどと呼ばれるテキストファイルにコピーし、パスのどこかに保存して(たとえば、~/bin/)、実行可能にします(Nautilusの右クリックとプロパティを使用するか、 chmod +x ~/bin/evince-Word-count.sh)、

#!/bin/bash
if [ "$#" -gt "0" ] ; then
    filename="$1"
else
    filename="$(zenity --file-selection)"
fi
evince "$filename" &
zenity --info --text "This PDF has $(pdftotext "$filename" - | tr -d '.' | wc -w) words"
exit 0

次に、nautilusのいくつかのPDFを右クリックし、[...で開く]を選択して、evince-Word-count.shで開きます。これで、PDFを開くと、すぐに開き、Wordカウントが得られます。

alt text

9
frabjous

私はそれが可能だとは思わない(技術的には可能だが、実装されていない)。

Evinceはドキュメントviewerであり、Word countはeditor(はい、これは常にそうではないことを知っています)。

Evince開発者に連絡する に、この機能の実装に興味があるかどうか尋ねてください。

4
8128