как установить ширину страницы в wickedPDF - PullRequest
2 голосов
/ 05 января 2012

Я использую wickedPDF для создания PDF-файлов в рельсах, и, кажется, все идет хорошо, пока я не попытаюсь вставить изображение полной ширины. Я хочу, чтобы моя ширина страницы была 595px (a4 при 72dpi), однако, еслиЯ установил

body{
  width: 595px;
}

И простой тег изображения с шириной 595 пикселей, он занимает всего 2/3 экрана.Если я изменю ширину изображения на 700 пикселей, оно заполняет весь экран.

Мой вопрос заключается в том, как изменить ширину, генерируемую WickedPDF. Вот как выглядит мой PDF:

format.pdf {
        render :pdf => "pdf_1",
               :show_as_html => params[:debug].present?,
               :layout => 'pdf.html',
               :template => "/pdfs/show_pdf",
               :margin => {:top                => 0,
                           :bottom             => 0,
                           :left               => 0,
                           :right              => 0},
               :orientation      => 'Portrait', # default , Landscape,
               :no_background    => true
      }

Я безуспешно пытался добавить параметры, такие как масштабирование и ширину страницы. Если я установил :dpi=>72, я получаю пустой экран, так что это тоже не хорошо

Ответы [ 4 ]

2 голосов
/ 23 июня 2012

Может быть, вы можете посмотреть на :page_size => '...' вариант.От man wkhtmltopdf

-s, - page-size Установите размер бумаги: A4, Letter и т. Д.

0 голосов
/ 28 октября 2014

Для параметров полей вы можете перейти в злой pdf, который, в свою очередь, передаст их в двоичный файл:

options = {margin: {right: 0, left: 0, top: 0, bottom: 0}

См

https://github.com/mileszs/wicked_pdf/blob/master/test/unit/wicked_pdf_test.rb#L134

0 голосов
/ 15 февраля 2013

Зависит от того, что вам нужно @Yule.Я использую это:

  <div style="width: 820px; margin: auto;">
    <%= render :partial => "pdf_partial" %>
  </div>

, и у меня также есть это в wicked_pdf.rb:

WickedPdf.config = {
  :page_size  => "Letter",
  :dpi => '300'
}
0 голосов
/ 11 декабря 2012

У меня была такая же проблема.Я делаю .container div с шириной 1200-1400 пикселей, потому что на странице была широкая таблица.Внутри положить несколько div с шириной = 100%.У меня он отлично работает, как какой-то зум.

...