2012-05-08 4 views
2

xhtml2pdf Python 패키지로 PDF를 생성합니다. 출력이 최적이 아닙니다. 페이지에 이미지와 텍스트를 배치하려면 부동 div를 사용합니다. HTML에서는이 방법이 효과적이지만 PDF 렌더링 후에 이미지와 텍스트는 서로간에 놓이게됩니다. 웹 서핑에서부터 xhtml2pdf에서 사용되는 Report Lab 패키지는 유동 div를 처리 할 수 ​​없다는 것을 알게되었습니다. 해결 방법이 있습니까? QT를 통해 웹킷 렌더링을 시도했지만 결과 PDF의 품질이 낮습니다. 즉 문자 간격이 완전히 잘못되었습니다.Report Lab에서 부동 div를 얻을 수있는 임시 해결책이 있습니까?

+1

안녕하세요, 비슷한 문제가 있습니다. xhtml2pdf에 대한 작업 코드를 공유 할 수 있다면 정말 고맙겠습니다. – Priyeshj

+1

물론, 문제 없습니다. 내일 직장에있을 때 코드를 확인하여 보내드립니다. – Hekje

+0

감사합니다. – Priyeshj

답변

1

xhtml2pdf에서 필요한 결과를 얻을 수없는 경우 ReportLab을 직접 사용하는 것이 좋습니다. ReportLab에는 서식있는 텍스트를 쉽게 만들 수있는 ReportLabs 자체 마크 업 언어에 대한 지원이 포함되어 있으며 문서 부품 및 페이지 레이아웃을 나타 내기 위해 Python 객체를 사용하여 레이아웃을 상당히 단순하게 만드는 Platypus라는 지원 라이브러리가 있습니다.

그런데 xhtml2pdf는 기본적으로 화면이 아닌 PDF로 출력되는 HTML 렌더링 엔진처럼 작동해야하는 문제가 있습니다. 브라우저에 좋은 렌더링 엔진을 만드는 데 오랜 시간과 노력이 들었으므로 xhtml2pdf가 비슷한 품질을 만들기 위해 많은 노력을 기울일 것으로 보입니다. 이것은 xhtml2pdf가 좋지 않다는 것을 의미하는 것은 아닙니다. 브라우저에서 렌더링하는 것만큼이나 시간이 걸릴 것입니다. PDF 출력 자체가 정말로 관심이 있다면, ReportLab을 사용하는 것이 좋습니다. 직접적으로 더 나은 선택입니다.

+1

xhtml2pdf에서 프레임을 사용하여 작업하고 있습니다. 어쨌든 대답은 고맙습니다! – Hekje