[GastForen Programmierung/Entwicklung AppleScript Ermittlung von eingebettenen Schriften in PDF-Dateien

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

Ermittlung von eingebettenen Schriften in PDF-Dateien

Martin Fischer
Beiträge gesamt: 12783

24. Okt 2011, 16:00
Beitrag # 1 von 13
Bewertung:
(5781 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

kennt jemand ein AppleScript (Droplet) zur Ermittlung der Namen von eingebettenen Schriften (und ggf. Zusatzinformationen zum Copyright / Version) in vielen PDF-Dateien?

Sehr schön wäre eine Ausgabe in Form einer CSV-Datei mit Angaben zu Namen der PDF-Datei, Schriftfamilie, Schriftschnitt, Typ, Version und Copyright.


Wenn es das nicht schon gibt, wäre es über ein AppleScript umsetzbar?
X

Ermittlung von eingebettenen Schriften in PDF-Dateien

-hans-
Beiträge gesamt: 748

25. Okt 2011, 11:02
Beitrag # 2 von 13
Beitrag ID: #482964
Bewertung:
(5732 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Guten Morgen,

meine 8er-Acrobatversion bietet leider nicht die Möglichkeit per Script auf die verwendeten Fonts zuzugreifen. Schau doch mal ins Funktionsverzeichnis falls Du eine neuere Version hast.

xPdf kann in der neuesten Version (3.03) wohl auch OpenTypes auslesen, habe aber keine schon für mac kompilierte Version gefunden :( ...

In meinem "mal verwahren"-Koffer habe ich noch folgendes Script gefunden bei dem einfach das PDF eingelesen und nach FontName gesucht wird ...

Ergebnis ist eine Liste der verwendeten Schriftschnitte (Bsp.: {"LinotypeLibraryLogo", "LinotypeUnivers-730Heavy", "LinotypeUnivers-430Regular", "LinotypeUnivers-430Regular"})

Wenn die Info reicht, könnte man ein Droplet darauf aufbauen ...
Code
set myDoc to (choose file with prompt "Choose a pdf" without invisibles) 
set pathToDoc to POSIX path of myDoc

set allFonts to paragraphs of (do shell script "tr '\\r' '\\n' < ../../" & quoted form of pathToDoc & " | egrep -ao \"FontName.*/\" | cut -d '/' -f 2")

set fontList to {}
repeat with i from 1 to number of items in allFonts
set thisItem to item i of allFonts
if thisItem contains "+" then
set thisItem to do shell script "echo " & thisItem & " | cut -d'+' -f2 "
set fontList to fontList & thisItem
else
set fontList to fontList & thisItem
end if
end repeat
fontList


Lieben Gruß

Hans-Gerd Claßen


als Antwort auf: [#482928]

Ermittlung von eingebettenen Schriften in PDF-Dateien

Martin Fischer
Beiträge gesamt: 12783

25. Okt 2011, 11:41
Beitrag # 3 von 13
Beitrag ID: #482967
Bewertung:
(5716 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

danke für Deine Hinweise

Dein Skript ist schon mal ein guter Ansatz.
Ich vermute, dass keine weiteren interessanten Informationen über die Schrift außer dem Namen und ggf. das Encoding aus der PDF-Datei entnommen werden können.

Kannst Du mir sagen, was das ShellScript im Einzelnen macht?
Code
do shell script "tr '\\r' '\\n' < ../../" & quoted form of pathToDoc & " | egrep -ao \"FontName.*/\" | cut -d '/' -f 2") 


Jedenfalls ist das ein guter Anfang, an dem ich weiter rumbasteln kann.


als Antwort auf: [#482964]

Ermittlung von eingebettenen Schriften in PDF-Dateien

-hans-
Beiträge gesamt: 748

25. Okt 2011, 15:21
Beitrag # 4 von 13
Beitrag ID: #483013
Bewertung:
(5683 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi,

warum die Unix-lineEndings mit "tr" gesetzt werden weiss ich nicht ...

Sollte auch mit "sed" als input anstatt "tr" gehen.

| egrep -ao \"FontName.*/\"
... ist die erste Pipe mit der ReEx und den Optionen -a (-a, --text
Process a binary file as if it were text; this is equivalent to
the --binary-files=text option.
) und -o ( -o, --only-matching
Print only the matched (non-empty) parts of a matching line,
with each such part on a separate output line.)

| cut -d '/' -f 2"
Zweite Pipe "cut" setzt im Ziwschenergebnis (nach eGrep) noch einen Delimiter ('/') aus der entstehenden Liste wird der Zweite item ausgewählt ...

Ich orientiere mich immer hier: http://www.manpagez.com/ und hier: http://ss64.com/osx/

Wie gesagt "sed" sollte auch funktionieren:
Code
do shell script "sed < " & quoted form of POSIX path of (choose file) & " | egrep -ao \"FontName.*/\" | cut -d '/' -f 2" 


Hoffentlich findet sich hier keine UnixShell-Fachkraft ;-)

Tschüss
Hans-Gerd


als Antwort auf: [#482967]

Ermittlung von eingebettenen Schriften in PDF-Dateien

kkauer
Beiträge gesamt: 661

25. Okt 2011, 19:10
Beitrag # 5 von 13
Beitrag ID: #483048
Bewertung:
(5658 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf [ Martin Fischer ] kennt jemand ein AppleScript (Droplet) zur Ermittlung der Namen von eingebettenen Schriften (und ggf. Zusatzinformationen zum Copyright / Version) in vielen PDF-Dateien?

Sehr schön wäre eine Ausgabe in Form einer CSV-Datei mit Angaben zu Namen der PDF-Datei, Schriftfamilie, Schriftschnitt, Typ, Version und Copyright.


Wenn es das nicht schon gibt, wäre es über ein AppleScript umsetzbar?

Ich kenne deine Workflow-Anforderungen leider nicht.
Wäre ein Acrobat-Preflight-Droplet ein gangbarer Weg oder muss es zwingend ein (Apple)Script sein?


als Antwort auf: [#482928]

Ermittlung von eingebettenen Schriften in PDF-Dateien

Martin Fischer
Beiträge gesamt: 12783

25. Okt 2011, 21:11
Beitrag # 6 von 13
Beitrag ID: #483052
Bewertung:
(5632 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

danke für die Erläuterung.
Da fühle ich mich fremd.


als Antwort auf: [#483013]

Ermittlung von eingebettenen Schriften in PDF-Dateien

Martin Fischer
Beiträge gesamt: 12783

25. Okt 2011, 21:12
Beitrag # 7 von 13
Beitrag ID: #483053
Bewertung:
(5628 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf: Wäre ein Acrobat-Preflight-Droplet ein gangbarer Weg oder muss es zwingend ein (Apple)Script sein?


So was gibt's?
Das sieht interessant aus.
Allerdings muss ich mir das mal etwas genauer ansehen.

Mein erstes Droplet erstellt je geprüfte Datei einen (umfangreichen) Report.
Mein Ziel wäre allerdings, dass das Ergebnis in Form einer Liste in eine einzige Datei geschrieben wird. Mit verschiedenen Spalten bzw. Trennzeichen, um später eine tabellarische Übersicht zu finden.

Es geht darum, sich einen ersten Überblick über die in von extern angelieferten PDF-Dokumente eingebetteten Schriften zu verschaffen und für spätere Untersuchungen bereitzuhalten.

Das Ergebnis des ersten Versuchs erschlägt mich mit unnötigen Informationen.
Ich will mal sehen, wie ich das für meine Bedürfnisse reduzieren kann.

Danke für den Hinweis.


als Antwort auf: [#483048]

Ermittlung von eingebettenen Schriften in PDF-Dateien

kkauer
Beiträge gesamt: 661

26. Okt 2011, 10:00
Beitrag # 8 von 13
Beitrag ID: #483066
Bewertung:
(5563 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf [ Martin Fischer ]
Antwort auf: Wäre ein Acrobat-Preflight-Droplet ein gangbarer Weg oder muss es zwingend ein (Apple)Script sein?


So was gibt's?
Das sieht interessant aus.
Allerdings muss ich mir das mal etwas genauer ansehen.

Ich halte es halt für wenig sinnvoll, eine PDF-Datei nach String-Mustern zu durchsuchen. Wenn du mit dem Acrobat-Droplet nicht weiter kommst, such dir eine für dich geeignete "Hilfskraft", die du dann in dein Skript einbaust. Beispiel: pdffonts aus dem xpdf-Paket.


als Antwort auf: [#483053]

Ermittlung von eingebettenen Schriften in PDF-Dateien

-hans-
Beiträge gesamt: 748

26. Okt 2011, 15:14
Beitrag # 9 von 13
Beitrag ID: #483098
Bewertung:
(5531 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

xpdf für den Mac habe ich nur in der Version 3.02 (2008) gefunden.
(Es gibt aber wohl eine neue Version 3.03 aus August 2011 ...)
http://mac.softpedia.com/...Glyph-Cog-Xpdf.shtml

Code
do shell script "/usr/local/bin/pdffonts " & quoted form of POSIX path of (choose file) 


Schönen Tag :)

Hans-Gerd Claßen


als Antwort auf: [#483066]

Ermittlung von eingebettenen Schriften in PDF-Dateien

Martin Fischer
Beiträge gesamt: 12783

26. Okt 2011, 16:36
Beitrag # 10 von 13
Beitrag ID: #483103
Bewertung:
(5512 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Karsten und Hans,

die Experimente mit xpdf muss ich etwas hint’an stellen, weil’s inzwischen anderswo brennt.

Eure Anregungen helfen mir zu gegebener Zeit bestimmt weiter.
Wenn nicht, melde ich mich nochmals.

Ich danke Euch für Eure Mühe.


als Antwort auf: [#483098]

Ermittlung von eingebettenen Schriften in PDF-Dateien

bavella
Beiträge gesamt: 171

20. Dez 2011, 21:01
Beitrag # 11 von 13
Beitrag ID: #486659
Bewertung:
(5105 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf [ Martin Fischer ] So was gibt's?
Das sieht interessant aus.
Allerdings muss ich mir das mal etwas genauer ansehen.


Es gibt von Thomas Merz (PDFlib) auch ein interessantes Acrobat-PlugIn, den Fontreporter, das zu dem Thema passt - sogar kostenfrei.

http://www.pdflib.com/...ftware/fontreporter/

MfG
York Simon


als Antwort auf: [#483053]

Ermittlung von eingebettenen Schriften in PDF-Dateien

kkauer
Beiträge gesamt: 661

21. Dez 2011, 19:30
Beitrag # 12 von 13
Beitrag ID: #486731
Bewertung:
(5064 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf: Es gibt von Thomas Merz (PDFlib) auch ein interessantes Acrobat-PlugIn, den Fontreporter, das zu dem Thema passt - sogar kostenfrei.


Wie kann Fontreporter bei dieser Aufgabenstellung helfen? Es ging doch um Stapelverarbeitung/automatisches Logging …


als Antwort auf: [#486659]
(Dieser Beitrag wurde von kkauer am 21. Dez 2011, 19:31 geändert)

Ermittlung von eingebettenen Schriften in PDF-Dateien

bavella
Beiträge gesamt: 171

22. Dez 2011, 07:29
Beitrag # 13 von 13
Beitrag ID: #486745
Bewertung:
(5034 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
War ja nur ein Hinweis.
Ich würde solche Infos z.B. nutzen, um mich beim Anbieter/Programmierer direkt zu informieren, wie sie das realisiert haben. Auf diesem Weg habe ich schon öfters Erkenntnisse erfahren, die ich für eigene Projektarbeiten nutzen konnte.

MfG
York Simon


als Antwort auf: [#486731]
X