Tôi đang sử dụng xhtml2pdf
(trước đây là pisa
hoặc ngược lại? :)) để tạo PDF từ mẫu django. Mẫu được hiển thị ok, nhưng PDF tôi nhận được từ mẫu đó bị hỏng theo cách rất lạ: văn bản trong ô bảng được nâng lên đầu ô, vì vậy chữ hoa chạm vào đường viền trên của ô:Văn bản bên trong ô bảng không được liên kết không đúng
trong khi trong trình duyệt có vẻ như rằng:
tôi đã thử:
- Áp dụng
vertical-align
- có vẻ như nó chỉ bị bỏ qua, ít nhất là tôi không nhận thấy bất kỳ thay đổi nào trong pdf, ngay cả khi chúng được tạo trong html - Áp dụng
padding-top
- nó di chuyển văn bản xuống, nhưng cũng tăng chiều cao của ô. - Wrapping văn bản vào
span
vớimargin-top
- cùng tác dụng nhưpadding-top
Tôi nghĩ lý do là văn bản được đưa ra bởi xhtml2pdf ở đầu rất của dòng, trong khi trình duyệt có xu hướng làm cho nó ở đâu đó ở giữa khối. Nói cách khác, khối văn bản chiếm vị trí rất giống nhau cả trong pdf và html, nhưng văn bản bên trong khối được dịch chuyển. Nhưng đó chỉ là suy đoán của tôi.
Vì vậy, có ai phải đối mặt với cùng một vấn đề không? Tôi có làm điều gì sai? Bất kỳ cách giải quyết nào có thể?
Pieces mã:
- rendered html: http://pastebin.com/4jMCLrA4
- CSS: http://pastebin.com/vAn8HXkY
- Mã mà tạo ra PDF: http://pastebin.com/6wBULrhx
cùng prolem chính xác ở đây – ppetrid
@ppetrid Tôi đã kết thúc bằng cách sử dụng [weasyprint ] (http://weasyprint.org/). Nó có một trục trặc khác khi bỏ qua chiều cao tr, nhưng đó không phải là một vấn đề lớn đối với tôi. – J0HN
@JOHN bạn có một số mã mẫu để lấy mẫu không? Khi tôi sử dụng weasyprint tôi nhận được kết quả tương tự mà bạn hiển thị trong câu hỏi. – Steve