回答:
素早い回答:
pdftotext myfile.pdf - | wc -w
長い答え:
Unixの場合、次を使用できますpdftotext
。
そして、生成されたファイルで単語カウントを行います。Unixの場合、次を使用できます。
wc -w converted-pdf.txt
単語数を取得します。
また、frabjousによるコメントを参照してください-基本的stdout
に、一時ファイルにパイプすることで、1ステップで実行できます。
pdftotext myfile.pdf - | wc -w
pdftotext
Windowsプラットフォームでも利用可能なXpdfの一部であることに注意してください。Xpdfダウンロードページはfoolabs.com/xpdf/download.htmlにあります。wc
見つけることもできますが、代わりにwordやLibreOffice Writerなどのほとんどすべてのワードプロセッサを使用できます。単語もカウントします。(LibreOffice Writerの場合は、[ファイル]-> [プロパティ]-> [統計]に移動します)
これは難しい課題であり、解決するのは容易ではありません。正確な結果が本当に必要な場合は、PDFビューアーの段落ごとにテキストファイルにコピーし、wc -w
ツールで確認してください。pdftotext
その場合に使用しない理由は次のとおりです。数式も出力に含まれ、「単語」と見なされる場合があります。(または、から取得した出力を編集できますpdftotext
)。これが失敗する別の理由は、「4.3.2 Foo Bar」が3つの単語としてカウントされるという見出しです。
回避策は、[A-Za-z]から文字で始まる単語を数えることだけです。したがって、私が通常行うことは、2段階のアプローチです。
uniq単語のリストを取得し、内部に誤検出が多すぎるかどうかを確認します。
pdftotext foo.pdf - | tr " " "\n" | sort | uniq | grep "^[A-Za-z]" > words
一部のスペルミスは単語としてカウントされないため、ここでは辞書を使用しません。
この単語リストを取得し、pdftotextの出力内でgrepします。
pdftotext foo.pdf - | tr " " "\n" | grep -Ff words | wc -l
これは1つのライナー内で行うことができますが、最初のステップのフィルター結果を簡単に見ることができませんでした。-F
コメントで述べたように、あなたを助けるかもしれMOI以下(感謝)。
grep -Ff words
grepが「Unmatched [or [^」について不平を言っているので、を使用する必要がありました。manページから: `` `-F、--fixed-strings PATTERNを、改行で区切られた固定文字列のリストとして解釈します。`` `(。-FはPOSIXによって指定される)
無料のプログラムTranslator's Abacusを試しました。さまざまな種類のファイル(PDFを含む)をドラッグアンドドロップすると、ブラウザーがポップアップし、各ドキュメントのワードカウントの印刷可能なレポートが表示されます。私にとってはうまくいきました。(これはワードカウント用に特別に作成されたもので、435 KBのみです。つまり、「大きなアプリケーション」ではありません)。Translator's AbacusはPDF 1.5以降では動作しません。
また:あなただけのことができますCtrl+ AAcrobat Readerですべてのテキストを選択し、(画面の下部のステータスバー上の単語数を持っている)は、Microsoft Wordのようなプログラムにコピー・ペーストします。
Acrobat Proを使用している場合、これを簡単に行うには、PDFをMicrosoft Word文書にエクスポートしてから、Wordで単語カウントを行います。または、プレーンテキストファイルにエクスポートして、選択したテキストエディターでワードカウントユーティリティを使用することもできます。Wordメソッドを使用してpdf記事のワードカウントを行ったところ、完了までに30秒かかりました。
お役に立てれば。
アブラカダブラのツールに含まれる単語カウンターは便利だと思います。ただし、インストールは少し風変わりです。
次のコードで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 x64 Ultimate上のAdobe Acrobat Pro DC 2018.011.20040でテスト済み。
JavaScriptコンソールを有効にするには:
JavaScriptコンソールウィンドウを起動するには:
CTRL + J
参考までに、PDFに対応するLaTeXソースがある場合:LaTeX文書の正しい語数。
2000年頃から翻訳者が使用しているデファクトスタンダードはAnyCountワードカウントツールです。PDFおよび37のその他の形式でワードカウントを行います。
Ctrl+ Shift+ F高度な検索タイプを入力すると、その単語がドキュメント内に何回あるかがカウントされます。それはロケット科学ではありません。
pdftotext
:eを忘れないでください。また、単一のコマンドを使用できますpdftotext myfile.pdf - | wc -w
。