Подтвердить что ты не робот

Как читать метаданные PDF из R

Наше любопытство, есть ли способ читать метаданные PDF - например, информацию, показанную ниже - из R?

Я ничего не мог по этому поводу найти из [r] pdf metadata в текущей базе вопросов. Любые указатели очень приветствуются!

enter image description here

4b9b3361

Ответ 1

Я не могу думать о чистом R-способе сделать это, но вы, вероятно, можете установить свой любимый инструмент командной строки PDF (например, в формате PDF инструментарий, PDFtk и используйте это, чтобы получить хотя бы некоторые из данных, которые вы ищете.

Ниже приведен пример использования PDFtk. Он предполагает, что pdftk доступен на вашем пути.

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)

Я бы посмотрел, какие еще существуют опции для определения того, какие метаданные будут извлечены, и посмотрите, есть ли удобный способ проанализировать эту информацию в более удобной для вас форме.