Ошибка при вставке изображения в таблицу с помощью Prawn

Я работаю с 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)

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

Ваше здоровье!


person verdure    schedule 11.11.2011    source источник
comment
verdure, вы когда-нибудь понимали это или находили способ обойти это?   -  person derick    schedule 19.12.2011


Ответы (2)


В текущей версии 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
person 0x4a6f4672    schedule 22.12.2011

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

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

person babttz    schedule 13.11.2012