与えられたPDFはいくつかのフォントを使用します(たとえば、Acrobat Readerでは、[ファイル]> [プロパティ]> [フォント]を選択すると、使用されるフォントが表示されます)。どのようにして見つけることができますかwhereドキュメントで特定のフォントが使用されている(Adobe Acrobat 7、Reader、または無料のPDFツール)を使用)
明確にするために:特定のテキストでどのフォントが使用されているかを知りたくありません(Acrobat 9 Professionalを使用してその方法を知っています。詳細は このスーパーユーザーの質問 を参照してください)。代わりに、特定のフォントが使用されているwhereを検索します。
今この質問は少し古いですが、私はGoogle経由でここに来ました、そして誰か他の人もそうかもしれません。私の解決策は、フォント情報にエラーのあるプリフライトプロファイル(Acrobat 9 Pro)を作成することでした。結果のフォント名をクリックすると、ページにジャンプしてテキストを強調表示します。欠点は、フォント名ではなくページごとに整理されたすべてのページのすべてのフォントのリストを取得できることですが、これは私に解決策を提供しました。
1)新しいカスタムプリフライトプロファイルを作成しますAdvanced | Preflight | Options | Create New Preflight Profile
2)プロファイルに名前を付けます(Fontfinderなど)。
3)ダイアログの左側のウィンドウで[カスタムチェック]をクリックします
4)空白のボックスの下のダイアログの右側のウィンドウで、プラス記号をクリックして新しいチェックを作成し、現在のプロファイルに含めます
5)グループの[テキスト]をクリックします。一番下のプロパティは[テキストサイズ]です。これを選択して「追加」をクリックします
6)下のペインにオプションが追加されました。おそらく「等しい」とラベル付けされたドロップダウンオプションをクリックし、「以下」を選択します
7)[数値]フィールドに大きな値を入力します。 500入りました
8)チェックがレポートを報告するときのダイアログの左上...として、テキストサイズ500 pt以下などを入力し、[OK]をクリックします。ペインの横に赤い十字がある新しいカスタムチェックがあるはずです。十字が赤でない場合は、チェックラベルをクリックし、ペインの下の[エラー]を選択します
上記の手順を繰り返して、別のエラーチェックを行いますが、500のオプションを「以上」に変更し、チェックはテキストとして500 pt以上のレポートを生成します。
9)[プロファイルの編集]ダイアログで[OK]をクリックします
10)PDFでプロファイルを実行します
すべてのエラーがグループで報告されるように、フォントを大きなポイントサイズでエラーに設定しました。 2番目のチェックは、それよりも大きいフォントをキャッチすることです。 ptサイズ50000を確認して同じ結果が得られると思います。
for each個々のページどのフォントのセットがその上で使用されているかを見つける方法は次のとおりです。 (申し訳ありませんが、callassoftware.comの pdfToolbox4 またはEnfocusなどの広範な商用ソフトウェアに頼らずに、フォントの使用に関する位置認識をページ単位でより具体的にする方法がわかりません' PitStop 。)
このメソッドはXPDFのpdffonts.exe
ユーティリティ、GPLライセンスのフリーソフトウェア:
次に、ドキュメントの22ページで使用されているすべてのフォントを表示するには、次のコマンドを実行します。
pdffonts.exe -f 22 -l 22 c:\path\to\some\pdf.pdf
ドキュメント全体で使用されている all フォントを確認するには、次のコマンドを実行します。
pdffonts.exe c:\path\to\some\pdf.pdf
22ページのPDFの各ページで使用されているフォントのリストを取得するには、次のコードを使用します。
for /l %i in (1,1,22) do ^
(echo.PAGE %i & pdffonts -f %i -l %i c:\path\to\some\pdf.pdf)
私は Enfocus 'Pitstop Pro プラグインを使用しましたが、安くはありません。
PDFが元々Wordで作成されていなかった場合はおそらく関係ありませんが、作成された場合は、詳細検索を使用してWordでフォントを見つけることができます こちら =。
要するに:
等。残りはエクササイズできます。
以下は、オープンソースソフトウェア(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