2012-04-11 20 views
7

Me gustaría crear una tabla de gambas donde el texto de la celda esté envuelto por palabras y no letras. Ya estoy usando shrink_to_fit, pero parece que la gamba se está envolviendo en letras. Idealmente, me gustaría que se ajuste solo a las palabras (single_line no es una opción, ya que puede haber 2-3 palabras por celda).Cómo envolver por palabras en gamba Tabla

¿Alguien sabe cómo hacer eso?

Respuesta

3

¿Quizás su tabla contiene palabras que son demasiado largas para una sola celda de tabla? Hasta donde yo sé, las celdas de la tabla en las tablas de gambas usan recuadros delimitadores que deben envolver el texto automáticamente. El siguiente ejemplo funciona bien para mí:

Prawn::Document.generate 'example.pdf' do 
    data = [['Pig','Oink '*10], 
      ['Cow','Moo '*10], 
      ['Duck','Quack '*10]] 
    table data do |table| 
    table.column_widths = [50,150] 
    end 
end 

Si nada funciona, puede intentar la construcción de su propia mesa con múltiples text_box llamadas en lugar de utilizar el incorporado en Prawn table method, esto es, por supuesto, un poco engorroso. text_box dibuja el texto solicitado en un cuadro. El parámetro :overflow controla el comportamiento cuando la cantidad de texto excede el espacio disponible, las opciones disponibles son :truncate, :shrink_to_fit o :expand.

text_box(txt, :at => [x,y], :width => width, :height => height, :size => size, 
       :overflow => :shrink_to_fit,..) 
+0

Hola, gracias por la respuesta :) Si cambia a 'data = [[' cerdo '' Hola '* 10],' en la primera línea de los datos, se verá que usted obtendrá el mismo problema que estoy recibiendo. La palabra "there" está envuelta incorrectamente. También voy a echar un vistazo más de cerca a text_box ahora, gracias por tu respuesta de todos modos, +1. – Spyros

+1

Como también afirmo en la pregunta, ya estoy usando shrink_to_fit, pero este hace por carácter y no por envoltura de palabra, que es de lo que se trata todo el problema. – Spyros

Cuestiones relacionadas