R Plumber发布PDF

时间:2018-10-12 20:53:06

标签: r plumber

我正在尝试使用R Plumber通过HTTP发布请求访问PDF,使用制表器程序包进行阅读,并以JSON格式响应PDF。我通过邮递员将53kb PDF发布到我的路线,并收到错误:

  

normalizePath(path.expand(path),winslash,mustWork)中的错误。

我的R API路由代码如下:

#' @post /tab
#' @json
function(req){
  library("tabulizer")
  f <- req$postBody
  extract_tables(f)

}

当我将extract_tables()函数与我正在使用的PDF的本地路径一起使用时,它非常适合作为获取路径。

#' @get /tab
#' @json
function(){
  library("tabulizer")
  f <- "C:/Users/kelse/Desktop/Rscripts/Tessaract/table.pdf"
  extract_tables(f)
}

有人知道如何通过Plumber发布pdf文件并通过函数访问它吗?

1 个答案:

答案 0 :(得分:0)

您可以尝试使用@ serializer通过HTTP发布

#* @serializer contentType list(type="application/pdf")
#* @get /pdf
function(){
  tmp <- tempfile()
  pdf(tmp)
  plot(1:10, type="b")
  text(4, 8, "PDF from plumber!")
  text(6, 2, paste("The time is", Sys.time()))
  dev.off()

  readBin(tmp, "raw", n=file.info(tmp)$size)
}