PDFドキュメントで特定のフォントが使用されている場所を見つける方法


20

どのように私は見つけることができますフォントの数使用する特定のPDFについて(ファイル]> [プロパティ]> [フォント]を選択する際にはAcrobat Readerで、例えば、使用されるフォントを見ることができる)場所特定のフォントが文書で使用されている(Adobe社のAcrobat 7を使用して、リーダー、または無料のPDFツール)

明確にするために、特定のテキストでどのフォントが使用されているかを知りたくありません(Acrobat 9 Professionalを使用してそれを行う方法は知っています。このスーパーユーザーの質問を参照してください)。代わりに、特定のフォントが使用されている場所を見つけたいです。


上記の@Arjanのコメントに返信してください。
メーパーC.パラブズラー

1
@Arjan&Mehper:完了
Rabarberski

回答:


15

この質問はもう少し古いですが、私はGoogle経由でここに来ました。私の解決策は、フォント情報にエラーがあるプリフライトプロファイル(Acrobat 9 Pro)を作成することでした。結果のフォント名をクリックすると、ページにジャンプしてテキストが強調表示されます。欠点は、フォント名ではなくページごとに整理されたすべてのページのすべてのフォントのリストを取得することですが、解決策を提供してくれました。

1)新しいカスタムプリフライトプロファイルの作成詳細設定|プリフライト|オプション|新しいプリフライトプロファイルの作成

2)プロファイルに名前を付けます(たとえば、Fontfinder)

3)ダイアログの左側のウィンドウで[カスタムチェック]をクリックします

4)空白のボックスの下にあるダイアログの右側のウィンドウで、プラス記号をクリックして新しいチェックを作成し、現在のプロファイルに含めます

5)グループの[テキスト]をクリックします。下部のプロパティは[テキストサイズ]です。これを選択して「追加」をクリックします

6)下のペインにオプションが追加されました。おそらく「等しい」とラベル付けされたドロップダウンオプションをクリックし、「より小さい」を選択します

7)[数値]フィールドに大きな値を入力します。500を入力しました

8)ダイアログの左上にあるチェックでレポートが...として起動され、テキストサイズが500 pt以下のようなものを入力して、[OK]をクリックします。ペインに新しいカスタムチェックがあり、その横に赤い十字が付いているはずです。十字が赤でない場合は、チェックラベルをクリックし、ペインの下の「エラー」を選択します

別のエラーチェックについて上記の手順を繰り返しますが、500のオプションを「以上」に変更し、Checkはレポートをテキスト500 pt以上として起動します

9)[プロファイルの編集]ダイアログで[OK]をクリックします

10)PDFでプロファイルを実行します

すべてのエラーがグループで報告されるように、フォントを大きなポイントサイズでエラーに設定しました。2番目のチェックは、単にそれより大きいフォントをキャッチすることです。ptサイズ50000をチェックしても同じ結果になると思います。


5
この答えは大いに役立ちました。しかし、ステップ5で、代わりに選択するのでTextグループを選択Fontグループをして、Base Font Nameそしてたくさんのよりよいの作品フォントの名前を入力。
ジェシーグッド

6

ここでは、個々のページで使用されているフォントのセットを確認する方法を示します。(申し訳ありませんが、callassoftware.comのpdfToolbox4やEnfocusのPitStopなどの大規模な商用ソフトウェアに頼らずに、フォント使用の位置認識をページ単位よりも具体的にする方法はわかりません。)

この方法では、XPDFのpdffonts.exeユーティリティであるGPLライセンスのフリーソフトウェアを使用します。

  1. :に移動しhttp://www.foolabs.com/xpdf/download.html、ダウンロード:ftp://ftp.foolabs.com/pub/xpdf/xpdf-3.02pl4-win32.zip
  2. * .zipファイルをいくつかのディレクトリに解凍し、そこに含まれるさまざまな* .exeユーティリティを見つけます。
  3. 次に、ドキュメントの22ページで使用されているすべてのフォントを表示するには、次を実行します。

    pdffonts.exe -f 22 -l 22 c:\path\to\some\pdf.pdf
    
  4. ドキュメント全体で使用されているすべてのフォントを表示するには、次を実行します。

    pdffonts.exe c:\path\to\some\pdf.pdf
    
  5. 22ページのPDFの各ページで使用されているフォントのリストを取得するには、次を使用します。

    for /l %i in (1,1,22) do ^
          (echo.PAGE %i & pdffonts -f %i -l %i c:\path\to\some\pdf.pdf)
    

4
この方法はLinux / Macでも機能しますが、もちろんバイナリが呼び出されるのpdffontsではなくpdffonts.exe、パスではスラッシュが使用されます。
ShreevatsaR


1

Acrobax Xプリフライトによって作成されたレポートで、レポートウィンドウの左下隅にある[スナップで表示]ボタンをクリックし、ウィンドウの一覧で[+概要]および[+ページ]をクリックします。pdfの各ページが一覧表示されます、+ Page:1をクリックします。たとえば、+ Fontsをクリックすると、ページのフォントが一覧表示され、フォントをクリックすると、使用されているテキストがプリフライトスナップビューウィンドウに表示されます。必要な場合は、acrobatのfindを使用してテキストを検索できます。報告されたページに常にあるとは限りませんが、スナップビューでは特定のフォントが使用されているテキストが正確に表示されるため、通常のテキスト検索を使用する必要があります。


0

PDFが最初にWordで作成されたものではない場合はおそらく関係ありませんが、作成された場合は、ここで説明するように、高度な検索を使用してWordでフォントを見つけることができます。

要するに:

  1. 見つける
  2. 高度な...
  3. 形式->フォント

など。あなたは残りを解決できます。


0

以下は、オープンソースソフトウェア(qpdfおよびpdffonts)のみを使用して、Linuxまたは同様のオペレーティングシステムでこれを実現するスクリプトです。

#!/usr/bin/ruby

# usage:
#  find_page_where_font_is_used.rb file.pdf Nimbus
# Finds the first page in file.pdf where a font with a name containing Nimbus is used.
# Font names are matched in a case-insensitive way.
# Requires pdffonts, qpdf.

def die(message)
  $stderr.print "error in find_page_where_font_is_used.rb: #{message}\n"
  exit(-1)
end

def shell_out(command)
  output = `#{command}`
  result = $?
  if !(result.success?) then
    die("error in command #{command}")
  end
  return output.strip
end

def is_used_in_page_range(font,pdf,from,to)
  table = shell_out("pdffonts -f #{from} -l #{to} #{pdf}")
  if table=~/^[a-zA-Z0-9\+\-]*#{font}/i then
    return true
  else
    return false
  end
end

def search_for_font(font,pdf,from,to)
  print "Searching pages #{from}-#{to}.\n"
  if from==to then
    return from
  else
    mid = (from+to)/2
    if mid==to then mid=to-1 end
    if is_used_in_page_range(font,pdf,from,mid) then
      return search_for_font(font,pdf,from,mid)
    else
      return search_for_font(font,pdf,mid+1,to)
    end
  end
end

def main

  pdf = ARGV[0]
  font = ARGV[1] # can be a substring, e.g., Deja or Nimbus
  n = shell_out("qpdf --show-npages #{pdf}").to_i
  print "total pages = #{n}\n"
  if !is_used_in_page_range(font,pdf,1,n) then
    print "No font in #{pdf} has a name containing the string #{font} (case-insensitive).\n"
    exit(0)
  end
  p = search_for_font(font,pdf,1,n)
  print "The font first occurs on page #{p}.\nOutput of pdffonts for this page:\n"
  print shell_out("pdffonts -f #{p} -l #{p} #{pdf}")+"\n"
end

main

-1

インターネットのどこかで、Adobe Acrobatを使用している場合、この別の方法が機能することを発見しました(7以降で機能すると思います)。

[ツール]> [ドキュメントテキストの編集]を選択します(Acrobat 10Xから読んでいますが、バージョンによって異なる場合がありますが、私が話している内容を見つけることができるはずです)

テキストボックスを選択したら、右クリックしてプロパティを確認します。そこでは、使用されているフォントが表示されます。

編集:私のリファレンスへのリンクを見つけました:http//www.deepbluesky.com/blog/-/extracting-font-information-from-pdf-files_35/


私の質問で具体的に述べたように、あなたが解決しようとしている問題は私の質問ではありません。
Rabarberski
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.