R Plumber 发布 PDF

标签 r plumber tabulizer

我正在尝试使用 R Plumber 通过 HTTP post 请求访问 PDF,使用 tabulizer 包读取它,并使用 JSON 格式的 PDF 进行响应。我通过 Postman 将 53kb PDF 发布到我的路线并收到错误:

Error in 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 文件并在函数中访问它吗?

最佳答案

您可以尝试使用@序列化器通过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)
}

关于R Plumber 发布 PDF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52786869/

相关文章:

r - 如何从 R 数据帧中获取条件结果

r - ggplot2:如何在同一因子的不同图中使用相同的颜色

r - 在 R 中使用管道工 API 进行 Oauth

json - 如何在 R 中使用 Plumber 使用一组 JSON 对象

java - 加载制表器时 RStudio 发生 fatal error

r - 尝试使用制表器时出现"Java exception occurred during rJava bootstrap"

R - 有没有办法根据另一个具有不同列的数据框设置数据框列顺序

r - 有效地查找值第一次出现在列表中

r - 在 Redhat 7.5 上向 R 中的 Plumber API 端点发送主体尺寸较大的 POST 请求时出现问题