Tôi có nhu cầu in các trang từ một ứng dụng web trên thẻ chỉ mục 8 "x 4". IE không lưu cài đặt in từ bản in này sang bản in tiếp theo, vì vậy có cách nào để lập trình buộc bản in được thiết lập không?
Đã hỏi ngày 9 tháng 10 năm 2009 lúc 20:17Oct 9, 2009 at 20:17
Chris Sobolewskichris SobolewskiChris Sobolewski
12.6K12 Huy hiệu vàng60 Huy hiệu bạc95 Huy hiệu Đồng12 gold badges60 silver badges95 bronze badges
Nhìn vào các ví dụ CSS3 này từ //www.w3.org/tr/css3-page/#size:
/* style sheet for "A4" printing */
@media print and [width: 21cm] and [height: 29.7cm] {
@page {
margin: 3cm;
}
}
/* style sheet for "letter" printing */
@media print and [width: 8.5in] and [height: 11in] {
@page {
margin: 1in;
}
}
/* A4 Landscape*/
@page {
size: A4 landscape;
margin: 10%;
}
HALFER
Huy hiệu vàng 19.6K1717 gold badges92 silver badges176 bronze badges
Đã trả lời ngày 17 tháng 9 năm 2015 lúc 9:30Sep 17, 2015 at 9:30
3
Bạn có thể làm điều này trong CSS bằng Chỉ thị @media print
, không cần JS. Bạn sẽ phải tính toán kích thước nào liên quan đến thẻ chỉ số 4x8 và tự mình thực hiện tất cả các định vị, nhưng nó sẽ hoạt động. Ngoài ra, vì đây là CSS2, nó sẽ không hoạt động trong IE6. [Xem bình luận của Joel]
@media print {
body {
width: /*width of index card*/
height: /*height of index card*/
}
/* etc */
}
Đã trả lời ngày 9 tháng 10 năm 2009 lúc 20:28Oct 9, 2009 at 20:28
6
- Xóa khỏi các diễn đàn của tôi
Câu hỏi
Người dùng-276743963 đã đăng
Hi,
Tôi đang in div nội dung trên trang của mình và sử dụng chức năng sau cho nó.
hàm callprint [strid] {& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; var prtcontent = document.getEuityById [Strid]; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; var winprint = window.open ['', '', 'left = 0, top = 0, width = 900, chiều cao = 600, thanh công cụ = 1, ScrollBars = 1, status = 0']; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Winprint.document.write [prtcontent.innerhtml]; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Winprint.document.close []; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Winprint.f Focus []; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Winprint.print []; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Winprint.close []; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; prtcontent.innerhtml = ""; & nbsp; & nbsp; & nbsp; & nbsp; }
var prtContent = document.getElementById[strid];
var WinPrint = window.open['', '', 'left=0,top=0,width=900,height=600,toolbar=1,scrollbars=1,status=0'];
WinPrint.document.write[prtContent.innerHTML];
WinPrint.document.close[];
WinPrint.focus[];
WinPrint.print[];
WinPrint.close[];
prtContent.innerHTML = "";
}Điều này hoạt động tốt. Bây giờ tôi cần đặt loại trang thành hợp pháp hoặc 11 x 17. Làm thế nào để tôi làm điều đó?
Ngoài ra, làm thế nào để tôi phù hợp với nội dung để in lên một trang duy nhất [phù hợp với trang]?
Câu trả lời
User1996603829 Đăng
Xin chào Viralpatel,
Cảm ơn bài viết của bạn.
Theo mô tả của bạn, bạn có thể đặt kiểu CSS để in kích thước khác nhau của các trang.
Mẫu sau đây là để bạn tham khảo:
function CallPrint[strid] { var prtContent = document.getElementById[strid]; var WinPrint = window.open['', '', 'left=0,top=0,width=600,height=400,toolbar=1,scrollbars=1,status=0']; WinPrint.document.write['']; WinPrint.document.write['']; WinPrint.document.write[prtContent.innerHTML]; WinPrint.document.write['']; WinPrint.document.close[]; WinPrint.focus[]; WinPrint.print[]; WinPrint.close[]; prtContent.innerHTML = ""; }
test info to printCác liên kết sau có thể hữu ích cho bạn:
//nice-tutorials.blogspot.com/2009/05/print-using-javascript.html.
//www.codeproject.com/KB/scripting/javascript_print_page.aspx?display=Print .
Ngoài ra, không có & nbsp; tốt & nbsp; cách để "phù hợp với nội dung vào trang" khi in bằng javascript. Điều đó hoàn toàn phụ thuộc vào sở thích của người dùng, trừ khi bạn sử dụng công cụ báo cáo của bên thứ ba như báo cáo Crystal.
Trân trọng, Collina
collina- Được đánh dấu là câu trả lời Bythursday, ngày 7 tháng 10 năm 2021 12:00 sáng Thursday, October 7, 2021 12:00 AM