【问题标题】:How get output file name exactly same to input file name in R. what should be filename formating in pdfconverter in R如何使输出文件名与 R 中的输入文件名完全相同。R 中 pdfconverter 中的文件名格式应该是什么
【发布时间】:2020-07-16 15:35:30
【问题描述】:

我尝试使用 pdftools-library 中的“pdf_convert”函数将 pdf 的第一页输出为 png。 我得到了 png,但输出文件名具有“图像(页码).png”。如何使输出文件与输入文件名完全相同 Pdf 名称:- beer&cider_2bay_x_4shelf_londis_cluster1.pdf 图片名称:- beer&cider_2bay_x_4shelf_londis_cluster1_1.png

【问题讨论】:

  • 你已经尝试过什么?你能做吗pdf_convert("beer&cider_2bay_x_4shelf_londis_cluster1"
  • pdf 包含超过 1 页,因此输出文件名将类似于 image(page number).png (原始名称带有页码和 .png 的扩展名。)所以如果我使用上面的代码它将我所有的pdf页面转换为png和具有页码的文件名。而且我不希望那样...只想转换第一页并使用与输入文件名相同的名称
  • pdf_convert("beer&cider_2bay_x_4shelf_londis_cluster1.pdf", pages = 1:1) 没有屏幕截图或示例输出 我无法再提供帮助 抱歉,我之前没有使用过 pdftools

标签: r filenames pdftools


【解决方案1】:

“pdftools”包信息可在https://docs.ropensci.org/pdftoolshttps://github.com/ropensci/pdftools#readme.

library(pdftools)
pdf_convert("Some/file/path/filename.pdf",
            format = "png",
            pages = 1, # use page number
            filenames = "filename" # Set output file name
            )

这将在您的工作目录中生成文件。
使用完整文件路径或here::here()将 [png] 保存到特定文件夹

【讨论】:

    【解决方案2】:

    根据您的需要调整此代码,以将所需的所有图像从 pdf 提取到 png 中与原始 pdf 文件同名的特定文件夹:

    library(pdftools)
    library(glue)
    library(tidyverse)
    
    pdf_file <- "your_pdf.pdf"
    output_folder <- "./output"
    
    pdf_info <- pdf_info(pdf_file) # to get number of pages
    file_name <- str_remove(string = basename(pdf_file), pattern = '\\.pdf' # basename of the file without extension
    folder_name <- glue("{output_folder}/{file_name}")
    full_names <- glue("{folder_name}_{1:pdf_info$pages}.png")
    pdf_convert(pdf = pdf_file, format = "png", pages = 1:pdf_info$pages, filenames = full_names)
    

    【讨论】: