Sweave, Shiny: невозможно создать PDF на сервере - PullRequest
0 голосов
/ 06 января 2020

Я работаю над R Sweave, чтобы создать отчет в формате PDF в приложении shiny на сервере. Все отлично работает на моем компьютере, локально, я могу создать свой PDF в приложении. Это также работает на сервере. Но когда я хотел добавить изображение в фоновом режиме, прямоугольный заголовок angular, в 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}}
 }

Я что-то забыл?

Спасибо

РЕДАКТИРОВАТЬ : После некоторых исследований, я думаю, что у меня, вероятно, есть проблема с этими функциями в скрипте 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 и геометрией c, а не изображением.

1 Ответ

1 голос
/ 08 января 2020

Проблема решена! В моем R Sweave я просто добавил \ usepackage {tikz}, и он работает!

Спасибо Дирку Эддельбюттелю за помощь.

...