У меня есть простая блестящая панель инструментов, которую я пытаюсь распечатать с помощью кнопки «ПЕЧАТЬ» внизу страницы.Проблема в том, что, как вы увидите, созданная страница «сломана», и объекты панели инструментов находятся в неправильных положениях.В режиме браузера становится еще хуже.Почему это происходит? Есть ли альтернатива?Жаль, что когда я первоначально запускаю приложение (в свернутом окне) и нажимаю на печать, страница выглядит хорошо.
![enter image description here](https://i.stack.imgur.com/9fHQj.png)
#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)
})
})