web-dev-qa-db-ja.com

PDFファイル内の単語数を数える

PDFファイルのWord数を取得する方法Wordの総数を取得したいほとんどのPDFファイルにはテキストレイヤーが埋め込まれていると思いますので、OCRは必要ありません。

この課題は、サイズがわかっている科学論文を探すことから生まれました。 15000語ほとんどのモデレータの論文はpdfフォーマットで公開されています

64
osgx

クイックアンサー:

pdftotext myfile.pdf - | wc -w

ロングアンサー:

Unixの場合は、pdftotextを使用できます。

その後、生成されたファイルでWordカウントを行います。 Unixの場合は、次のものを使用できます。

wc -w converted-pdf.txt

word数を取得します。

また、frabjousによるコメントを参照してください - 基本的には、一時ファイルではなくstdoutにパイプすることによって、1ステップでそれを実行できます。

pdftotext myfile.pdf - | wc -w
87
icyrock.com

これは簡単なことではない難しい作業です。本当に正確な結果が欲しい場合は、PDFビューアの段落ごとにテキストファイルにコピーし、wc -wツールを使用して確認してください。その場合にpdftotextを使用しないのは、その理由は次のとおりです。数式も出力に含まれ、「単語」と見なされる可能性があります。 (あるいはpdftotextから得た出力を編集することもできます)。これが失敗するかもしれないもう一つの理由は見出しです:「4.3.2 Foo Bar」は3つの単語として数えられます。

回避策は、[A-Za-z]のうち、charで始まる単語を数えることだけです。だから私が普段やっていることは2段階のアプローチです:

  1. ユニークな単語のリストを取得し、内部に誤検知が多すぎるかどうかを確認します。

    pdftotext foo.pdf - | tr " " "\n" | sort | uniq | grep "^[A-Za-z]" > words

    スペルミスは単語として数えられないので、ここでは辞書を使用しません。

  2. このWordリストを入手して、pdftotextの出力内でgrepしてください。

    pdftotext foo.pdf - | tr " " "\n" | grep -Ff words | wc -l

これは1つのライナー内で実行できることはわかっていますが、その場合、最初のステップからのフィルター結果を簡単には見ることができませんでした。下記のmoiのコメントで述べられているように-Fはあなたを助けるかもしれません(ありがとう)。

13
math

私はただ無料のプログラムを試してみました Translator's Abacus 。さまざまな種類のファイル(PDFを含む)をドラッグアンドドロップすると、各文書の印刷可能なWord数レポートがブラウザに表示されます。私にとってはうまくいった。 (これはWord用に特別に作成されたもので、435 KBしかありません。つまり、 "大きなアプリケーション"ではありません)。翻訳者のそろばんはPDF 1.5以降では動作しません。

あるいは:あなただけができます Ctrl+A Acrobat Reader内のすべてのテキストを選択してから、Microsoft Wordなどのプログラムにコピー&ペーストします(画面下部のステータスバーにWordの数が表示されます)。

10
Adam

Acrobat Proを使用している場合にこれを行う簡単な方法は、PDFをMicrosoft Word文書にエクスポートしてから、WordでWordカウントを実行することです。または、プレーンテキストファイルにエクスポートして、選択したテキストエディタのWordカウントユーティリティを使用することもできます。私はちょうどWordの方法を使用してpdf記事でWordカウントをしました、そして、それは完了するのに30秒のすべてを要しました。

お役に立てれば。

2
Bruce Crawford

OCRFeeder をインストールできます。 ファイル-> Import PDF->すべてのページを自動的に検出して認識する-> Export to ODTを選択すると、libreoffice writerドキュメントはWord countまたは使用する他のRTF関数。

1
user55926

私は abracadabra tools に含まれるWordカウンタが便利だと思います。インストールは少し風変わりです。

0
Christoph

次のコードでAdobe AcrobatのコンソールJavaScriptを使用できます。これは、forums.Adobe.comでの Dave Merchantの回答から取得したものです

var cnt=0;
for (var p = 0; p < this.numPages; p++) cnt += getPageNumWords(p);
console.println("There are " + cnt + " words in this file.");

Windows 7 SP1 x 64 Ultimate上のAdobe Acrobat Pro DC 2018.011.20040でテスト済み。


JavaScriptコンソールを有効にするには

enter image description here

JavaScriptコンソールウィンドウを起動するには

CTRL + J

enter image description here

参考までに、PDFに対応するLaTeXソースがある場合は、 LaTeXドキュメントの単語数を修正します

0