2013-05-04 8 views
5

Ich möchte PDF-Rendering meiner großen Berichtstabelle machen. Aber es scheint, dass phantomjs das Attribut rowSpan nicht unterstützt. Hier ist das Beispiel:page-break-inside funktioniert nicht in Tabellenzellen mit rowSpan?

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

Hier ist die jsfiddle

Und hier ist das Ergebnis  [

Gibt es Abhilfe für dieses?

EDIT:

Vielleicht jemand in webkit behebt dieses Problem werden könnte?

Antwort

9

Dies ist kein Fehler in phantomjs, so behandelt das WebKit Seitenumbrüche. (Auch Chrome.) Sie können dies sehen, indem Sie die Seite in Safari öffnen und dann versuchen, sie in der Größe "US Letter" zu drucken. Ich weiß nicht, warum du 3 Seiten A4 bekommst, wenn deine Geige in 2 Seiten (kürzer) US Letter passt, aber ich denke, das ist nebensächlich.

Im Allgemeinen haben alle HTML zu PDF Konverter, die ich kenne, genau dieses selbe Problem oder haben solche Schwierigkeit, es zu lösen, dass sie als inakzeptabel buggy betrachtet werden. Siehe zum Beispiel How to avoid page break inside table row for wkhtmltopdf.

Sehen Sie einige Möglichkeiten, JavaScript zu verwenden Webkit, um die Tabelle besser here, zusammen mit mehr Diskussion des Problems aufzubrechen.

+0

Leider funktionieren das nicht für mich. Es scheint Webkit Entwickler denken, dass Seite Drucken ist nicht Hauptsache :( – Erik

+0

Das funktioniert gut in Opera. Ja sicher, ich habe die Bounty Ich will nur Workaround, die für mich arbeiten wird. Kann jemand anderes kann helfen. – Erik

+1

@Erik müssen Sie Ihre Einschränkungen erklären, wenn Sie eine Workaround, die Sie verwenden können. Eine Aufschlüsselung der Tabelle mit JavaScript ist wahrscheinlich die einfachste Sache zu tun.Sie könnten auch die Tabelle in einigen serverseitigen Sprache oder sogar aufteilen besser, direkt exportieren Sie die Daten in PDF mit einigen serverseitigen PDF-Bibliothek.Ich kann nicht geben Sie mir mehr Richtung ohne weitere Informationen –