Ошибка при вставке изображения в таблицу с помощью Prawn - PullRequest
4 голосов
/ 11 ноября 2011

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

Мой код такой:

image = "path to file"

subject = [["FORMATIVE I "," SUMATIVE ","GRAPH"],
           [formative_1,sumative, {:image => image}]
          ]
table subject 

Но я получаю сообщение об ошибке:

 prawn/table/cell.rb:127:in `make': Content type not recognized: nil (ArgumentError)

Как я могу решить эту проблему?Любая помощь очень ценится.

Ура!

Ответы [ 2 ]

4 голосов
/ 13 ноября 2012

Креветка в версии 0.12.0 не дает возможности вставить изображение в ячейку.Посмотрите на это для дополнительной информации .Работает на следующей версии 1.0.0.rc1.Просто измени свою версию.Вы также можете использовать хитрый способ, но я советую вам не делать этого.Руководство доступно здесь .

Фиксация и объяснение этой функции от автора. Здесь

4 голосов
/ 22 декабря 2011

В текущей версии Prawn 0.12.0 невозможно встроить изображения в Prawn::Table, но эта функция, кажется, реализуется, см. здесь . На данный момент вы должны написать свою собственную таблицу, что-то вроде

data = [[{:image => "red.png"},{:text => "Red"}],
        [{:image => "blue.png"},{:text => "Blue"}]]
data.each_with_index do |row,i|
  row.each_with_index do |cell,j|
    bounding_box [x_pos,y_pos], :width => cell_width, :height => cell_height do
      image(cell[:image], ...) if cell[:image].present?
      text_box(cell[:text], ...) if cell[:text].present?
    end
    x_pos = (x_pos + cell_width)
  end
  y_pos = (y_pos - cell_height)
end
...