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


22

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

PS EvinceはUbuntuのデフォルトのPDFビューアであるため、ビューアを変更したくないのですが、Evinceを含む多くのアプリケーションは本当に素晴らしいので、可能な限りデフォルトのアプリケーションを使用したいです。

pdf  evince 

回答:


31

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

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

感謝しますが、質問で述べたように、この種のことのためにコマンドラインを使用する必要はありません。

4
@Chris次に、evinceコードにsystem( "<command above>")を統合してみてください。
ゲーデル

11

Zenityを必要とするクイックbashスクリプトはどうですかと証拠をどうでしょう。引数なしで呼び出されると、ダイアログボックスが表示され、ファイルを選択できます。引数を付けて(またはダイアログボックスの後に)呼び出されると、ファイルを明示的に開き、単語数のあるダイアログボックスを表示します。

言い換えると、次のものをテキストファイルに呼び出す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を開くと、すぐに開き、単語数が表示されます。

代替テキスト


このファイルを/home/$USER/.local/share/nautilus/scripts/に置くと、Nautilus(Ubuntu vanilla file mananger)を右クリックして使用できるようになります。
ダニエルホルム

10

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

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

2
ドキュメントを定義するために使用されるファイルはすべて「ソースコード」と見なされ、Evinceはコードを実行するマシンです。ソースコードエディター(テキストエディターなど)に実行の出力を判断するのは不公平です(不可能です)ので、出力(Evince / popplerでレンダリングされたイメージ/テキスト)を見てみましょう。Evinceでの実装は、言語に依存しないテキストエディタで論文を「コーディング」し、Evinceを使用して(Pandocおよびpdflatexを介して)ソースを「実行」するので便利です。最後になって初めて、それが何を成し遂げたかを確認できます。コメント付きコードを検討してください。
user29020 14年

4

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

Evinceはドキュメントビューアーであり、ワードカウントはエディターでより一般的に必要な機能であることを覚えておく必要があります(そうではないことはわかっています)。

Evince開発者連絡して、この機能の実装に興味があるかどうかを尋ねることができます。


1
ありがとう。私は彼らに連絡しました、そして、私は決定的な応答を得るまで、質問を開いたままにします。

返事があったら、自分の質問に自由に答えてください:)
8128

エビンスは厳密には「閲覧者」ではありません。ドキュメントの作成、表示、編集は、単に「編集」してから「表示」するよりも明らかに大きなワークフローです。質問に関して:Evinceは現在、選択テキストのコピーを許可しています。それは厳密には「ビュー」ロールではありません。Evinceは、実際に読んだ(またはパブリッシャーに送信した)最終的な「レンダラー」であるため、結果の単語数を見つけるのに最適な立場にあります。既にレンダリングされた単語全体を識別する方法があります(単語をダブルクリックしてみてください!)。Evinceが[ファイル]-> [プロパティ]ボックスでこれを提供してくれることを願っています。既にページカウント(レンダリングに基づいて)を教えてくれます。
user29020 14年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.