gpt4 book ai didi

r - 有没有办法将 "author"元数据添加到从 R 创建的 pdf 中

转载 作者:行者123 更新时间:2023-12-02 04:03:47 25 4
gpt4 key购买 nike

当使用 R 中的 pdf() 图形设备创建 PDF 时,可以使用 pdf() 的 title= 参数轻松添加标题元数据。但没有明显的方法来添加作者。

查看 R 中 pdf() 的代码,关键似乎是 C 函数 C_PDF,它显然没有作者参数,并且超出了我的破解能力。有没有其他方法比将我的图形输出编织成 LaTeX 创建的 PDF 更方便,包括作者信息并保存我们稍后手动执行?

.External(C_PDF, file, old$paper, old$family, old$encoding, 
old$bg, old$fg, old$width, old$height, old$pointsize,
onefile, old$pagecentre, old$title, old$fonts, version[1L],
version[2L], old$colormodel, old$useDingbats, old$useKerning,
old$fillOddEven, old$compress)

我对此不抱太大希望,因为 this broader question 没有令人满意的基于语言的答案。 ...

最佳答案

这里有几个函数,可以获取和设置 these filetypes 中任何一个的 Exif 元数据。 ,使用ExifTool .

获取元数据:

getexif <- function(file, exiftool='exiftool.exe', opts=NULL, 
intern=TRUE, simplify=FALSE) {
# file: the file to be updated
# exiftool: the path to the ExifTool binary
# opts: additional arguments to ExifTool (optional)
# intern: should a named vector of metadata be returned? (bool)
# simplify: if intern==TRUE, should the results be returned as a named
# vector (TRUE) or as a data.frame (FALSE)?
arg <- c(opts, normalizePath(file))
if(intern) {
exif <- system2(normalizePath(exiftool), args=arg, stdout=TRUE)
exif <- do.call(rbind, strsplit(exif, ' +: +', perl=T))
row.names(exif) <- exif[, 1]
exif[, 2, drop=simplify]
} else {
system2(normalizePath(exiftool), args=arg, stdout='')
}
}

设置元数据:

setexif <- function(file, ..., exiftool='exiftool.exe') {
# file: the file to be updated
# ...: metadata items
# exiftool: the path to the ExifTool binary
dots <- list(...)
exif <- sprintf('-%s="%s"', names(dots), dots)
system2(exiftool, args=c(exif, file))
}

这是一个例子

pdf(f <- tempfile(fileext='.pdf'))
plot(runif(10))
dev.off()

toolpath <- 'c:/software/exiftool(-k).exe'


setexif(f, title = "foo", subject='bar', author = "Me", exiftool=toolpath)

getexif(f, toolpath)

## [,1]
## ExifTool Version Number "9.64"
## File Name "file237c6f8d4dac.pdf"
## Directory "C:/Users/john/AppData/Local/Temp/RtmpSGqI6O"
## File Size "7.8 kB"
## File Modification Date/Time "2014:06:17 10:50:22+10:00"
## File Access Date/Time "2014:06:17 10:50:22+10:00"
## File Creation Date/Time "2014:06:17 10:50:20+10:00"
## File Permissions "rw-rw-rw-"
## File Type "PDF"
## MIME Type "application/pdf"
## PDF Version "1.4"
## Linearized "No"
## Create Date "2014:06:17 10:50:20"
## Modify Date "2014:06:17 10:50:20"
## Producer "R 3.1.0"
## Creator "R"
## Page Count "1"
## XMP Toolkit "Image::ExifTool 9.64"
## Subject "bar"
## Title "foo"
## Author "Me"

关于r - 有没有办法将 "author"元数据添加到从 R 创建的 pdf 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18647777/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com