2013-05-04 3 views
5

큰 보고서 표를 PDF로 렌더링하려고합니다. 그러나 phantomjs가 rowSpan 속성을 지원하지 않는 것 같습니다.page-break-inside는 rowSpan이있는 테이블 셀에서 작동하지 않습니까?

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

jsfiddle

입니다 그리고 여기 결과  [

는 해결 방법이 거기에 있습니다 : 다음은 예입니다?

편집 :

어쩌면 누군가가 웹킷에서이 문제를 해결 할 수 있을까?

답변

9

이것은 팬텀의 버그가 아니며, 이것은 WebKit에서 페이지 나누기를 처리하는 방법입니다. (Chrome도 마찬가지입니다.) Safari에서 페이지를 연 다음 "US Letter"크기로 인쇄하려고하면이 사실을 알 수 있습니다. 나는 당신이 당신의 바이올린이 (더 짧은) US Letter 크기의 2 페이지에 들어갈 때 왜 A4 사이즈로 3 페이지를 얻는 지 모르지만 그것은 포인트 옆에 있다고 생각합니다.

일반적으로 알고있는 모든 HTML PDF 변환기는 똑같은 문제가 있거나이를 해결하는 데 어려움을 겪기 때문에 용납 할 수없는 버그로 간주됩니다. 예를 들어 How to avoid page break inside table row for wkhtmltopdf을 참조하십시오.

JavaScript를 사용하여 WebKit에서 테이블을 더 잘 분해 할 수있는 몇 가지 방법을 살펴보고 문제에 대한 자세한 설명과 함께 참조하십시오.

+0

불행히도 그게 나를 위해 작동하지 않습니다. 그것은 웹킷 개발자들이 페이지 인쇄가 중요하지 않다고 생각하는 것 같습니다 : ( – Erik

+0

오페라에서 잘 작동합니다. 그렇습니다. 나는 단지 나를 위해 효과가있을 해결 방법을 찾고 싶습니다. 다른 사람도 도울 수 있습니다. – Erik

+1

@Erik 당신이 사용할 수있는 해결 방법을 원한다면 제한을 설명 할 필요가 있습니다. 자바 스크립트를 사용하여 테이블을 분할하는 것이 가장 쉬운 방법 일 수 있습니다. 또한 서버 측 언어로 테이블을 분할하거나 더 나은, 직접 일부 서버 쪽 PDF 라이브러리를 사용하여 PDF로 데이터를 내보낼 수 있습니다.하지만 더 많은 정보 없이는 더 이상 방향을 줄 수 없습니다. –