2013-10-26 22 views
8

Unsere Neugier, gibt es eine Möglichkeit, PDF-Metadaten - wie die unten gezeigten Informationen - von R zu lesen?So lesen Sie PDF-Metadaten von R

Ich konnte nichts darüber durch die Suche von [r] pdf metadata in der aktuellen Frage Basis. Alle Hinweise sehr willkommen!

enter image description here

+4

Werfen Sie einen Blick auf 'readPDF' form tm-Paket. –

+0

Danke - sieht gut aus, aber nicht so offensichtlich zu verwenden, ich melde mich zurück, wenn ich es schaffe, den Code zu schreiben, der z. B. den Inhaltsproduzenten extrahiert. –

+1

'file.info()' erhalten Sie einige dieser Informationen – GSee

Antwort

4

ich nicht von einer reinen R Art und Weise, dies zu tun denken kann, aber Sie können Ihr Lieblings-PDF-Befehlszeilentool wahrscheinlich installieren (zum Beispiel the PDF toolkit, PDFtk und verwenden, die zumindest einen Teil der bekommen Daten, die Sie suchen.

Hier finden Sie ein einfaches Beispiel pdftk verwendet wird. Sie geht davon aus, dass pdftk in Ihrem Weg zugänglich ist.

x <- getwd() ## I'll run this example in a tempdir to keep things clean 
setwd(tempdir()) 
list.files(pattern="*.txt$|*.pdf$") 
# character(0) 

pdf(file = "SomeOutputFile.pdf") 
plot(rnorm(100)) 
dev.off() 

system("pdftk SomeOutputFile.pdf data_dump output SomeOutputFile.txt") 
list.files(pattern="*.txt$|*.pdf$") 
# [1] "SomeOutputFile.pdf" "SomeOutputFile.txt" 

readLines("SomeOutputFile.txt") 
# [1] "InfoBegin"     "InfoKey: Creator"    
# [3] "InfoValue: R"     "InfoBegin"     
# [5] "InfoKey: Title"    "InfoValue: R Graphics Output" 
# [7] "InfoBegin"     "InfoKey: Producer"   
# [9] "InfoValue: R 3.0.1"   "InfoBegin"     
# [11] "InfoKey: ModDate"    "InfoValue: D:20131102170720" 
# [13] "InfoBegin"     "InfoKey: CreationDate"  
# [15] "InfoValue: D:20131102170720" "NumberOfPages: 1"    
# [17] "PageMediaBegin"    "PageMediaNumber: 1"   
# [19] "PageMediaRotation: 0"   "PageMediaRect: 0 0 504 504" 
# [21] "PageMediaDimensions: 504 504" 

setwd(x) 

ich in aussehen würde, was andere Optionen gibt es zu spezifizieren w Hat Metadaten extrahiert, und sehen, ob es eine bequeme Möglichkeit gibt, diese Informationen in ein Formular zu analysieren, das für Sie nützlicher ist.