2013-11-24 17 views
5

È possibile avere caselle di controllo di riempimento di Prawn a seconda del risultato di un booleano? Ad esempio, mi piacerebbe avere una casella di controllo "Sì" e "No" per una serie di domande per registrare le risposte. Dopo aver ricevuto le informazioni, vorrei inserire la casella di controllo appropriata. È possibile, e se sì, come?Caselle di controllo con la gemma di gambero

Grazie!

risposta

3

C'è un aspetto here che discute questo. L'idea di base è che avresti bisogno di usare un set di caratteri che supporti le checkbox per far funzionare tutto questo.

Se si desidera qualcosa di più bello di questo, gambero non supporta caselle di controllo, quindi è necessario creare qualcosa per questo.

+1

visualizzatori PDF sono solo [garantiti per avere 14 caratteri] (http://www.enfocus.com/manuals/ReferenceGuide/PP/10/enUS/en-us/concept/c_aa1140975.html) e Unicode supporto su pdf [è solo così così al meglio] (http://stackoverflow.com/a/143702/616644). La soluzione più portabile sarebbe probabilmente disegnandoli da soli. –

2

Non è difficile da disegnare da soli. Questa è stata una soluzione abbastanza flessibile per me.

def checkbox(flag, x_position = 7, y_position = @pdf.cursor - 2) 
    @pdf.bounding_box([x_position, y_position], width: 10, height: 12) do 
    @pdf.stroke_bounds 
    @pdf.text("X", align: :center, valign: :center) if flag 
    end 
end 
Problemi correlati