2010-07-14 33 views
5

Tôi đã đọc Landscape printing from HTML, nhưng vấn đề của tôi cụ thể hơn. Và trước khi tôi thừa nhận thất bại và xem xét một nghề nghiệp khác, tôi nghĩ tôi sẽ đăng bài ở đây.In ấn phong cảnh từ IE8

Đây là tình huống của tôi:

Tôi đang viết chương trình in và hiển thị thời gian biểu bằng HTML. Người dùng nhấp vào các tùy chọn khác nhau như phòng, ngày vv. Cuộc gọi AJAX sau đó được thực hiện, để tìm nạp dữ liệu và các khối thời gian biểu được định vị tuyệt đối bằng cách sử dụng Javascript. Chiều rộng của thời gian biểu là nhiều hơn chiều cao của thời gian biểu. Vì vậy, tôi cần in ở chế độ ngang, để tối đa hóa kích thước trên trang.

Trước tiên, @media print{@page {size: landscape}} chỉ đơn giản là không hoạt động trong bất kỳ trường hợp nào, tôi đã thử.

Tính năng này hoạt động: filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);.

Tôi đã thử áp dụng CSS ImageTransform cho một trong các thành phần HTML hoặc BODY, với các kết quả khác nhau.

Khi áp dụng cho phần tử HTML, có vẻ như trang được hiển thị dưới dạng dọc (là cài đặt mặc định cho người dùng trong tổ chức của tôi) và sau đó được xoay 90 độ. Rõ ràng điều này không giúp tôi.

Khi áp dụng cho phần tử BODY, mọi thứ hoạt động, ngoại trừ cho các phần tử tương đối hoặc vị trí tuyệt đối (vẫn xuất hiện dọc). Tôi không thể từ bỏ vị trí tuyệt đối, mà không cần viết lại từ đầu, mà tôi không có sự sang trọng.

Tôi nên làm gì?

+0

Bạn đã làm gì? – misterManSam

+2

Bạn có thể xem xét phân phối PDF cho từng thời gian biểu. Ví dụ. xem tại đây: http://stackoverflow.com/questions/3953821/printing-landscape-html-pdf-using-abcpdf – Kerstomaat

+0

PDF được tạo để in tài liệu ... HTML không phải. –

Trả lời

0

Do các quirks trong IE8 bạn cần phải áp dụng lại bộ lọc (bộ lọc: progid: DXImageTransform.Microsoft.BasicImage (Rotation = 3);) cho bất kỳ phần tử nào được định vị tuyệt đối.

+1

Tôi sẽ chấp nhận câu trả lời, vì nó có vẻ hiển nhiên hợp lý rằng điều này sẽ làm việc . Nhưng tôi không có cách nào thử nghiệm điều này trên phần mềm gốc, như tôi đã hỏi câu hỏi cách đây bốn năm. –

+0

Vâng, tôi biết đã muộn một chút! Bit chỉ tình cờ gặp vấn đề này và nghĩ rằng tôi sẽ trả lời nó cho bất kỳ ai khác có cùng vấn đề này ... chúng tôi vẫn phải hỗ trợ IE8 tại công ty tôi làm việc cho trang thương mại điện tử của chúng tôi. – Sutty1000