1

ロックされている PDF ファイル内の特定の単語をカウントするにはどうすればよいですか。

ここではアニュアル レポートについて説明します。内部を検索することはできますが、そこからコピーすることはできません (何らかの理由で、意味がありません)。

永遠にグーグルした後、私はまだ解決策を見つけていません。

4

1 に答える 1

1

ファイルに (スキャンした画像だけでなく) テキストが含まれており、使用されているフォントにグリフから文字へのマッピングに関する情報が含まれている場合、テキスト抽出機能を提供する PDF ライブラリを使用して、ファイルからテキストを抽出できるはずです。

テキストのコピーは、通常、使用権を設定することによって禁止されています。多くの PDF ライブラリはこれらの設定を無視し、ロックされた PDF からのテキスト抽出を許可します。

ライブラリによっては、テキスト全体を抽出して自分で単語に分割するか、テキストを単語のコレクションとして抽出することができます (ライブラリがテキストを単語に分割できる場合)。

以下は、 Docotic.Pdf ライブラリのサンプル コードで、PDF ドキュメントで見つかった単語とその単語の使用回数に関する情報を含む辞書を作成する方法を示しています。

public static Dictionary<string, int> countWords(string file)
{
    Dictionary<string, int> wordCounts = new Dictionary<string, int>();

    using (PdfDocument pdf = new PdfDocument(file))
    {
        foreach (PdfPage page in pdf.Pages)
        {
            PdfCollection<PdfTextData> words = page.GetWords();
            foreach (PdfTextData word in words)
            {
                int count = 0;
                wordCounts.TryGetValue(word.Text, out count);
                wordCounts[word.Text] = count++;
            }
        }
    }
    
    return wordCounts;
}

免責事項: 私は Docotic.Pdf のベンダーで働いています。

于 2013-03-24T06:23:24.847 に答える