Sweave, Shiny:无法在服务器上生成 PDF
Sweave, Shiny : can't generate a PDF on the server
我正在研究 R Sweave
在服务器上的 shiny
应用程序中生成 PDF 格式的报告。一切都在我的计算机上完美运行,在本地,我可以在应用程序中生成我的 PDF。它也适用于服务器。但是,当我想在背景中添加一个图像时,一个矩形 header,在 R Sweave
中,它在服务器上不再工作,无法生成。
这是我在 R Sweave
中添加的代码,所以我的报告 :
\usepackage{background}
\usepackage{graphicx}
\backgroundsetup{
scale=0.5,
angle=0,
opacity=1,
color=black,
contents={\begin{tikzpicture}[remember picture, overlay]
\node at ([yshift=-.6in] current page.north)
{\includegraphics[width = \paperwidth]{myheader}};
\end{tikzpicture}}
}
我是不是忘记了什么?
谢谢
EDIT :经过一些研究,我认为脚本中的这些函数可能有问题 server.R
:
output$report <- downloadHandler(
filename = function(){name()},
content = function(file) {
out = knitr::knit2pdf(input="my_report.Rnw",encoding = "UTF-8",clean=TRUE)
file.rename(out, file)
file.copy(file,paste0("export/",Sys.Date(),"_",name()))
},
contentType = 'application/pdf'
)
看来我可能忘记了函数中的一个参数out = knitr::knit2pdf(input="my_report.Rnw",encoding = "UTF-8",clean=TRUE)
。好像只能管理UTF-8和几何形式的文字,不能管理图片
问题解决了!在我的 R Sweave 中,我刚刚添加了 \usepackage{tikz} 并且它有效!
感谢 Dirk Eddelbuettel 的帮助。
我正在研究 R Sweave
在服务器上的 shiny
应用程序中生成 PDF 格式的报告。一切都在我的计算机上完美运行,在本地,我可以在应用程序中生成我的 PDF。它也适用于服务器。但是,当我想在背景中添加一个图像时,一个矩形 header,在 R Sweave
中,它在服务器上不再工作,无法生成。
这是我在 R Sweave
中添加的代码,所以我的报告 :
\usepackage{background}
\usepackage{graphicx}
\backgroundsetup{
scale=0.5,
angle=0,
opacity=1,
color=black,
contents={\begin{tikzpicture}[remember picture, overlay]
\node at ([yshift=-.6in] current page.north)
{\includegraphics[width = \paperwidth]{myheader}};
\end{tikzpicture}}
}
我是不是忘记了什么?
谢谢
EDIT :经过一些研究,我认为脚本中的这些函数可能有问题 server.R
:
output$report <- downloadHandler(
filename = function(){name()},
content = function(file) {
out = knitr::knit2pdf(input="my_report.Rnw",encoding = "UTF-8",clean=TRUE)
file.rename(out, file)
file.copy(file,paste0("export/",Sys.Date(),"_",name()))
},
contentType = 'application/pdf'
)
看来我可能忘记了函数中的一个参数out = knitr::knit2pdf(input="my_report.Rnw",encoding = "UTF-8",clean=TRUE)
。好像只能管理UTF-8和几何形式的文字,不能管理图片
问题解决了!在我的 R Sweave 中,我刚刚添加了 \usepackage{tikz} 并且它有效!
感谢 Dirk Eddelbuettel 的帮助。