2013-05-04 10 views
5

Voglio rendere il rendering PDF della mia grande tabella di report. Ma sembra che phantomjs non supporti l'attributo rowSpan. cipage-break-inside non funziona nelle celle di una tabella con rowSpan?

phantomjs rasterize.js "http://fiddle.jshell.net/eric777/SLtGa/show/" report.pdf A4 

Ecco la jsfiddle

Ed ecco il risultato  [

È soluzione per questo: Ecco l'esempio?

EDIT:

Forse qualcuno potrebbe essere risolvere questo problema in WebKit?

risposta

9

Questo non è un bug in phantomjs, questo è come il WebKit gestisce le interruzioni di pagina. (Anche Chrome.) Puoi vederlo aprendo la pagina in Safari e poi provando a stamparla sul formato "Lettera USA". Non so perché ottieni 3 pagine in formato A4 quando il tuo violino si adatta a 2 pagine di (più corta) dimensione delle lettere degli Stati Uniti, ma penso che sia oltre il punto.

In generale tutto il codice HTML per convertitori PDF che io sono consapevole di avere questo esatto lo stesso problema o si ha tale difficoltà risolverlo che essi sono considerati buggy inaccettabile. Vedere How to avoid page break inside table row for wkhtmltopdf per esempio.

Vedere alcuni modi per utilizzare JavaScript per aiutare WebKit a rompere il tavolo meglio here, insieme a più discussioni sul problema.

+0

Purtroppo questo non funziona per me. E 'Sembra sviluppatori WebKit pensano che la stampa pagina non è cosa principale :( – Erik

+0

Che funziona bene in Opera. Sì certo, ho dare la bontà Voglio solo trovare soluzione che funziona per me. Può essere chiunque altro può aiutare. – Erik

+1

@Erik devi spiegare le tue restrizioni se vuoi ottenere una soluzione alternativa che puoi utilizzare. Rompere la tabella usando JavaScript è probabilmente la cosa più facile da fare. Potresti anche suddividere la tabella in qualche linguaggio lato server o, addirittura, meglio, esportare direttamente i dati in PDF usando una libreria PDF sul lato server, ma non posso darti altre direzioni senza ulteriori informazioni –

Problemi correlati