Sto utilizzando xhtml2pdf
(precedente pisa
o viceversa? :)) per generare PDF dal modello django. Il modello è reso ok, ma il PDF che ottengo da quel modello è corrotto in un modo molto strano: il testo nelle celle della tabella viene sollevato nella parte superiore della cella, quindi le lettere maiuscole toccano il bordo superiore della cella:Testo all'interno della cella della tabella allineato in modo errato
Mentre nel browser sembra che:
ho provato:
- Applicando
vertical-align
- sembra appena ignorato, almeno non ho notato alcuna modifica in pdf, anche se erano in html generato - Applicazione
padding-top
- sposta il testo verso il basso, ma aumenta anche l'altezza della cella. - disposizione del testo in
span
conmargin-top
- stesso effetto dipadding-top
Penso che il motivo è che il testo è reso dal xhtml2pdf al vertice della linea, mentre i browser tendono a rendere da qualche parte nel mezzo di il blocco. In altre parole, il blocco di testo occupa la stessa posizione sia in pdf che in html, ma il testo all'interno del blocco viene spostato. Ma questa è solo la mia speculazione.
Quindi, qualcuno ha affrontato lo stesso problema? Sto facendo qualcosa di sbagliato? Sono possibili soluzioni alternative?
pezzi di codice:
- rendering HTML: http://pastebin.com/4jMCLrA4
- CSS: http://pastebin.com/vAn8HXkY
- codice che genera PDF: http://pastebin.com/6wBULrhx
la stessa identica prolem qui – ppetrid
@ppetrid ho finito per usare [weasyprint ] (http://weasyprint.org/). Ha un altro problema di ignorare l'altezza del tr, ma non è un grosso problema per me. – J0HN
@JOHN hai qualche codice di esempio per weasyprint? Quando uso weasyprint ottengo gli stessi risultati mostrati nella domanda. – Steve