Как преобразовать вид в изображение - PullRequest
1 голос
/ 29 февраля 2020

Я пытаюсь создать функцию, которая создает PDF и изображение с данными, предоставленными пользователем.

Для PDF я успешно преобразовал свой шаблон **.html.erb в PDF с использованием драгоценного камня Wicked PDF. Однако я не могу найти подобный драгоценный камень или способ создать изображение из моего файла ERB после нескольких часов поиска.

Вот как я преобразовал свой шаблон в PDF, используя Wicked PDF.

def linesheet_pdf
  # variables used to create the pdf
  @items = params[:items]
  @contact = params[:contact]

  # send pdf file back to front end
  response_to do |format|
    format.pdf do 
      render pdf: "filename.pdf",
      template: "path/to/html/erb/file/XYZ.html.erb",
      type: 'application/pdf', page_size: 'Letter'
    end
  end
end

Благодаря этому я смог использовать файл HTML со стилем из моего пользовательского CSS файл.

Сначала я подумал о преобразовании PDF в изображение в качестве обходного пути, но обнаружил, что файл изображения, преобразованный из PDF с несколькими страницами, не будет одним изображением с длинной прокруткой.

1 Ответ

0 голосов
/ 29 февраля 2020

Я думаю, что вы ищете: IMGKIT .

После того, как вы настроитесь, вы можете использовать что-то вроде:

def show
    respond_to do |format|
      format .html
      format.png do
        kit = IMGKit.new render_to_string, width: 1080, height: 1080
        send_data kit.to_png, type: "image/png", disposition: "inline"
      end
    end
  end

, а затем добавить ссылку:

<%= link_to your_path(@yourmodel, format: "png", s: 'linkeding') do %>
<% end %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...