So finden Sie heraus, wo in einem PDF-Dokument eine bestimmte Schriftart verwendet wird

20

Bei einem bestimmten PDF- Dokument, das eine Reihe von Schriftarten verwendet (z. B. in Acrobat Reader, werden die verwendeten Schriftarten angezeigt, wenn Sie "Dateien"> "Eigenschaften"> "Schriftarten" auswählen). Wie kann ich feststellen, wo eine bestimmte Schriftart im Dokument verwendet wird (mit Adobe Acrobat 7)? , Reader oder ein kostenloses PDF-Tool)

Nur um klar zu sein: Ich will nicht finden , welche Schriftart auf einem bestimmten Stück Text verwendet wird (ich weiß , wie das zu tun, Acrobat 9 Professional finden Sie unter diesen Super User Frage ). Stattdessen möchte ich herausfinden, wo eine bestimmte Schriftart verwendet wird.

Rabarberski
quelle
Könnten Sie bitte auf @ Arjans obigen Kommentar antworten?
Mehper C. Palavuzlar
1
@Arjan & Mehper: Fertig
Rabarberski

Antworten:

15

Diese Frage ist jetzt schon ein bisschen alt, aber ich bin über Google hierher gekommen, und möglicherweise auch von jemand anderem. Meine Lösung bestand darin, ein Preflight-Profil (Acrobat 9 Pro) zu erstellen, bei dem die Schriftartinformationen fehlerhaft waren. Wenn Sie in den Ergebnissen auf den Namen der Schriftart klicken, springen Sie zur Seite und markieren den Text. Der Nachteil ist, dass Sie eine Liste aller Schriftarten auf allen Seiten erhalten, die nach Seite und nicht nach Schriftartname geordnet sind, aber für mich eine Lösung.

1) Erstellen Sie ein neues benutzerdefiniertes Preflight-Profil. Erweitert | Preflight | Optionen | Neues Preflight-Profil erstellen

2) Geben Sie dem Profil einen Namen (z. B. Fontfinder)

3) Klicken Sie im linken Fenster des Dialogfelds auf "Benutzerdefinierte Prüfungen".

4) Klicken Sie im rechten Fenster des Dialogfelds unter dem leeren Feld auf das Pluszeichen, um eine neue Prüfung zu erstellen und in das aktuelle Profil aufzunehmen

5) Klicken Sie in der Gruppe auf "Text". Die untere Eigenschaft ist "Textgröße". Wählen Sie dies und klicken Sie auf "Hinzufügen"

6) Der untere Bereich enthält jetzt mehr Optionen. Klicken Sie auf die Dropdown-Optionen mit der Bezeichnung "gleich" und wählen Sie "kleiner als".

7) Geben Sie einen großen Wert in das Feld Nummer ein. Ich habe 500 eingegeben

8) Oben links im Dialogfeld, wenn "Brände prüfen" als ... gemeldet wird, geben Sie eine Textgröße von 500 pt oder weniger ein und klicken Sie auf "OK". Im Bereich sollte sich eine neue benutzerdefinierte Prüfung mit einem roten Kreuz daneben befinden. Wenn das Kreuz nicht rot ist, klicken Sie auf das Häkchen und wählen Sie "Fehler" unter dem Fenster aus

Wiederholen Sie die obigen Schritte für eine weitere Fehlerprüfung, ändern Sie jedoch die Option für 500 in "größer oder gleich" und melden Sie Brände prüfen als Text 500 pt oder größer

9) Klicken Sie im Dialogfeld Profil bearbeiten auf OK

10) Führen Sie das Profil in Ihrem PDF aus

Ich habe die Schriftart auf Fehler bei einer großen Punktgröße eingestellt, damit alle Fehler in einer Gruppe gemeldet werden. Die zweite Prüfung besteht einfach darin, eine größere Schrift abzufangen. Ich nehme an, Sie könnten nach der PT-Größe 50000 suchen und das gleiche Ergebnis erzielen.

user164577
quelle
5
Diese Antwort hat mir sehr geholfen. Wählen Sie jedoch in Schritt 5 die TextGruppe aus , anstatt sie auszuwählen Font, und geben Sie dann Base Font Nameden Namen der Schriftart ein, was wesentlich besser funktioniert.
Jesse Good
6

Auf diese Weise können Sie für jede einzelne Seite herausfinden, welche Schriftarten darauf verwendet werden. (Entschuldigung, ich kenne keine Möglichkeit, die Ortserkennung für die Verwendung von Schriftarten spezifischer als seitenweise zu gestalten, ohne auf umfangreiche kommerzielle Software wie pdfToolbox4 von callassoftware.com oder PitStop von Enfocus zurückzugreifen .)

Diese Methode verwendet das pdffonts.exeDienstprogramm von XPDF , eine GPL-lizenzierte freie Software:

  1. Gehen Sie zu: http://www.foolabs.com/xpdf/download.html und laden Sie Folgendes herunter: ftp://ftp.foolabs.com/pub/xpdf/xpdf-3.02pl4-win32.zip .
  2. Extrahieren Sie die * .zip-Datei in ein Verzeichnis und suchen Sie die verschiedenen darin enthaltenen * .exe-Dienstprogramme.
  3. Führen Sie nun Folgendes aus, um alle auf Seite 22 eines Dokuments verwendeten Schriftarten anzuzeigen:

    pdffonts.exe -f 22 -l 22 c:\path\to\some\pdf.pdf
    
  4. Um alle im gesamten Dokument verwendeten Schriftarten anzuzeigen, führen Sie einfach Folgendes aus:

    pdffonts.exe c:\path\to\some\pdf.pdf
    
  5. Um eine Liste der Schriftarten zu erhalten, die auf jeder Seite einer 22-seitigen PDF-Datei verwendet werden, verwenden Sie einfach:

    for /l %i in (1,1,22) do ^
          (echo.PAGE %i & pdffonts -f %i -l %i c:\path\to\some\pdf.pdf)
    
Kurt Pfeifle
quelle
4
Diese Methode funktioniert auch unter Linux / Mac, außer natürlich die binären genannt wird , pdffontsstatt pdffonts.exeund der Weg vorwärts Schrägstriche verwenden würde.
ShreevatsaR
1

Klicken Sie in dem von Acrobax X Preflight erstellten Bericht auf die Schaltfläche "In Snap anzeigen" in der unteren linken Ecke des Berichtsfensters, und klicken Sie in der Fensterliste auf "+ Übersicht" und "+ Seiten". Jede Seite der PDF-Datei wird aufgelistet Klicken Sie zum Beispiel auf + Seite: 1, klicken Sie auf + Schriftarten, die Schriftarten für die Seite werden aufgelistet, klicken Sie auf eine Schrift und der verwendete Text wird im Preflight-Snap-Ansichtsfenster angezeigt. Wenn Sie müssen, können Sie in Akrobat finden, um den Text zu finden. Ich habe festgestellt, dass es nicht immer auf der Seite angezeigt wird, aber in der Snap-Ansicht wird genau angezeigt, für welchen Text eine bestimmte Schriftart verwendet wird. Daher muss eine reguläre Textsuche durchgeführt werden.

Greg
quelle
0

Möglicherweise nicht relevant für Sie, wenn die PDF-Datei ursprünglich nicht in Word erstellt wurde. Wenn dies jedoch der Fall war, können Sie die Schriftarten in Word mithilfe der erweiterten Suche wie hier beschrieben suchen .

Zusamenfassend:

  1. Finden
  2. Fortgeschrittene ...
  3. Format -> Schriftart

usw. Sie können den Rest ausarbeiten.

Shaul sagt, ich unterstütze Monica
quelle
0

Das folgende Skript führt dies unter Linux oder ähnlichen Betriebssystemen aus, wobei nur Open-Source-Software (qpdf und pdffonts) verwendet wird.

#!/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
Ben Crowell
quelle
-1

Irgendwo im Internet fand ich diese andere Methode, die funktioniert, wenn Sie Adobe Acrobat haben (ich denke, das funktioniert nach 7).

Suchwerkzeuge> Dokumenttext bearbeiten (Ich lese aus meinem Acrobat 10X, es kann in Ihrer Version anders sein, aber Sie sollten in der Lage sein, das zu finden, worüber ich spreche.)

Wenn Sie ein Textfeld ausgewählt haben, klicken Sie mit der rechten Maustaste und sehen Sie sich die Eigenschaften an. Dort steht die verwendete Schriftart.

bearbeitet: Link zu meiner Referenz gefunden: http://www.deepbluesky.com/blog/-/extracting-font-information-from-pdf-files_35/

newyuppie
quelle
Wie in meiner Frage ausdrücklich erwähnt, ist das Problem, das Sie lösen, nicht meine Frage.
Rabarberski