我正在尝试使用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文件并通过函数访问它吗?
答案 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)
}