我刚刚开始尝试使用pdftools
从 pdf 中提取图像。但是我发现并非所有图层都被复制。例如,在下面的代码中,行在 png 中再现,但不是点。显然,在这个例子中,我可以直接保存 png,但是当我没有创建 pdf 的源代码/数据时,我只是用它来突出我对其他数据的问题。
警告下面的代码在 C:\temp 目录中创建文件
library(tidyverse)
library(pdftools)
set.seed(5)
df <- data.frame(Date = rep(as.Date(1:50, origin = "1990-01-01"),2), value = c(1:50,1:50)+c(rnorm(50),rnorm(50,sd=5)), var = rep(c("a","b"),each = 50))
plt1 <- ggplot(df, aes(x = Date, y = value, colour = var))+
geom_line()+
geom_point()
ggsave(plt1, filename = "C:/temp/testplot.pdf", width = 5, height = 4)
这将按预期创建带有点和线的pdf
但是,当我转换时,我没有得到积分,只有线条
pdf_convert("C:/temp/testplot.pdf", format = "png", filenames = "C:/temp/testpng.png")
#> Converting page 1 to C:/temp/testpng.png...
#> PDF error: No display font for 'ArialUnicode'
#> done!
#> [1] "C:/temp/testpng.png"
由reprex 包(v0.3.0)于 2019 年 11 月 19 日创建
我也尝试过使用pdftools::pdf_render_page
和来自 magick 包的和,结果相同image_read_pdf
。image_convert
但是我知道这些magick
功能实际上正在使用pdftools
,所以问题一定存在