Печать блестящей страницы панели инструментов меняет фактическое положение каждого объекта - PullRequest
0 голосов
/ 14 декабря 2018

У меня есть простая блестящая панель инструментов, которую я пытаюсь распечатать с помощью кнопки «ПЕЧАТЬ» внизу страницы.Проблема в том, что, как вы увидите, созданная страница «сломана», и объекты панели инструментов находятся в неправильных положениях.В режиме браузера становится еще хуже.Почему это происходит? Есть ли альтернатива?Жаль, что когда я первоначально запускаю приложение (в свернутом окне) и нажимаю на печать, страница выглядит хорошо.

enter image description here

#ui.r
library(shiny)
library(shinydashboard)
library(shinyjs)
library(plotly)
library(leaflet)
library(scales)
library(tidyverse)
library(reshape2)
library(V8)
library(maps)
jsCode <- 'shinyjs.winprint = function(){
window.print();
}'

ui <- dashboardPage(
  dashboardHeader(
    title = "[School Name] Enrollment Projections for Fall 2019",
    titleWidth = 500
  ),
  dashboardSidebar(),
  dashboardBody(
    useShinyjs(),
    fluidRow(
      column(10,
             plotlyOutput("plot",height=375)),
      box(background = "light-blue",
          height = 375,width = 2
          )),
    fluidRow(
      box(background = "light-blue",
          height = 375,width = 2),
      column(10,
             leafletOutput("mymap",height=375))
          ),
    fluidRow(
      box(height = 130,width = 12)
    ),
    useShinyjs(),
    extendShinyjs(text = jsCode),
    actionButton("print", "PRINT")

          )
          )
#server.r
library(shiny)
library(shinydashboard)
library(shinyjs)
library(plotly)
library(leaflet)
library(scales)
library(tidyverse)
library(reshape2)
library(maps)
server <- shinyServer(function(input, output, session) {
  addClass(selector = "body", class = "sidebar-collapse")

  observeEvent(input$print, {
    js$winprint()
  })


  output$plot<-renderPlotly({
    today <- Sys.Date()
    tm <- seq(0, 600, by = 10)
    x <- today - tm
    y <- rnorm(length(x))
    p <- plot_ly(x = ~x, y = ~y, mode = 'lines', text = paste(tm, "days from today"))

  })

  output$mymap <- renderLeaflet({
    library(maps)
    mapStates = map("state", fill = TRUE, plot = FALSE)
    leaflet(data = mapStates) %>% addTiles() %>%
      addPolygons(fillColor = topo.colors(10, alpha = NULL), stroke = FALSE)


  })

})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...