[英]Convert .png to multi-page pdf using Magick in R
我有一個包含 100 張 .png 圖像的目錄,我想將其轉換為 pdf。
圖像正是我想要的 pdf 大小。
我可以像這樣使用magick
“手動”創建一個多頁pdf:
library(magick)
img1 <- image_read("image1.png")
img2 <- image_read("image2.png")
image_write(c(img1, img2), format = "pdf", "check.pdf")
但是我無法讓 image_write 命令接受文件名向量來自動執行此過程。 例如,我想從我的目錄“test”中的 .png 圖像制作一個 100 頁的 pdf:
all_images <- list.files("test")
我認為purrr
可能會有所幫助,但沒有運氣:
library(purrr)
image_write(map(all_images, image_read), format = "pdf", "check.pdf")
有任何想法嗎?
您需要使用c
連接不同的"magick-image
對象。
和做c(img1,img2,img3,...)
all_images_1 <- purrr::reduce(
purrr::map(all_images,image_read),
c
)
image_write(all_images_1 , format = "pdf", "check.pdf")
magick::image_*()
函數是矢量化的。 所以你可以這樣做:
dir = '/path/to/dir'
fl = list.files(dir, full.names = TRUE, pattern = '.png')
# magick
img = image_read(fl) # read from vector of paths
img2 = image_append(img, stack = TRUE) # places pics above one another
image_write(img2, file.path(dir, 'check.pdf'))
這會將圖像置於彼此之上,而不是在單個頁面上。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.