2009-01-21 14 views

Trả lời

9

Không chính xác, nhưng bạn có thể sử dụng một bản in-stylesheet:

<link rel="stylesheet" type="text/css" media="print" href="print.css" /> 

Để thiết lập kích thước font chữ, miếng đệm, vv để các đơn vị vật lý như 'pt' (mà không bao giờ nên được sử dụng trong một màn hình-stylesheet !) để nó kết thúc bằng một trang A4 nhiều hơn hoặc ít hơn, khi được hiển thị trong một trình duyệt điển hình, với phông chữ điển hình, với một luồng gió sau. Không có gì được đảm bảo nhưng bạn có thể tối ưu hóa cho trường hợp thông thường.

Khi in, bạn không phải lo lắng nhiều về tùy chọn kích thước phông chữ hoặc cài đặt dpi, nhưng bạn vẫn không thể kiểm soát lề mà trình duyệt sử dụng hoặc kích thước trang thực tế (US Letter nhỏ hơn A4) để lại một lượng lớn phòng lung và kiểm tra trên các trình duyệt chính.

+0

"Không có gì được đảm bảo nhưng bạn có thể tối ưu hóa cho trường hợp phổ biến." Nói hay lắm. Nếu bạn biết có bao nhiêu nội dung thực tế bạn đang nhồi nhét vào trang, bạn có thể đảm bảo rằng nó phù hợp với hầu hết các trang của mọi người. – Kev

+0

Tôi cũng khuyên bạn nên tối ưu hóa kích thước Thư Hoa Kỳ vì kích thước chữ này nhỏ hơn A4 một chút. A4 sẽ khiến người dùng Thư Hoa Kỳ trở nên điên rồ nhưng Thư Hoa Kỳ sẽ phù hợp với A4 và người dùng có thể không nhận thấy. –

2

Bạn có thể sử dụng CSS để tạo kiểu cho trang và đặt nó ở độ cao/chiều rộng nhất định ... Có hướng dẫn tốt here.

7

Không. Bạn không thể kiểm soát mức thu phóng của người dùng, cài đặt máy in, khổ giấy (là dùng giấy A4 ở châu Âu hoặc hợp pháp ở Hoa Kỳ?) Và tất cả những thứ khác ảnh hưởng đến đầu ra máy in bằng HTML.

Điều tốt nhất bạn có thể làm với HTML là tạo một trang "rất thân thiện với máy in" rất đơn giản và giữ nội dung ngắn gọn. Ngoài ra, bạn có thể xây dựng một PDF, được thiết kế để cho phép bạn kiểm soát cách nó được in.

+0

PDF là cách để đi nếu bạn muốn kiểm soát toàn bộ đầu ra được in. –

+0

“Bạn không thể điều khiển kích thước giấy […] của người dùng […]” - Hình ảnh máy in sẽ cắt giấy của bạn để vừa với cài đặt tác giả. :) – Gumbo

1

Chắc chắn. Bạn có một vài khả năng:

  • Chuyển đổi trang của bạn thành hình ảnh lớn.
  • Chuyển đổi trang của bạn thành PDF.
  • Làm phiền tất cả người dùng của bạn với một trang có kích thước cố định cuộn sang trái và sang phải vì nó quá rộng và làm cho việc chuyển thông tin trở nên vô cùng khó khăn.
+0

Phương pháp "hình ảnh" có nhược điểm của nó - độ phân giải DPI xuất hiện trong đầu bạn. PDF có vẻ là cách dễ nhất. – Piskvor

0

Không có cách nào vì bạn không thể biết loại máy in hoặc khổ giấy tại thời điểm hiển thị HTML.

Đề xuất duy nhất của tôi là đặt thuộc tính máy in để chia tỷ lệ nội dung cho phù hợp với một trang tại thời điểm in.

2

Sử dụng PDF. Bạn có thể ép buộc nhiều thứ như kích thước phông chữ, kiểu phông chữ và nhiều thông số khác nhưng mọi trình duyệt đều có thể quyết định không quan tâm và sử dụng bất cứ thứ gì họ muốn và vi phạm các điều kiện tiên quyết hoặc quyết định của bạn. HTML không phải là (lặp lại sau tôi: KHÔNG là) ngôn ngữ trình bày.

Trong nhiều trường hợp, nó chủ yếu sẽ hoạt động nhưng không có gì là chắc chắn.

2

Không, nhưng bạn có thể làm cho chế độ xem in mượt mà hơn bằng cách sử dụng tệp CSS dành riêng cho phương tiện in, như đề xuất ở trên.

Sau đó, bạn có thể ví dụ ít nhất là ngăn bảng mở rộng trên 2 trang bằng cách sử dụng "page-break-before: always;".

Và cuối cùng, bạn cũng có thể sử dụng "display:none;" trên các yếu tố không cần thiết như quảng cáo, thanh điều hướng, v.v ... để giữ cho trang đó ngắn hơn (đủ ngắn cho một trang đơn lẻ).

Không có đảm bảo nào.

Các vấn đề liên quan