Hướng dẫn how to set print page size in javascript - cách đặt kích thước trang in trong javascript

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ướng dẫn how to set print page size in javascript - cách đặt kích thước trang in trong javascript

Đã hỏi ngày 9 tháng 10 năm 2009 lúc 20:17Oct 9, 2009 at 20:17

Hướng dẫn how to set print page size in javascript - cách đặt kích thước trang in trong javascript

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ừ http://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%;
}

Hướng dẫn how to set print page size in javascript - cách đặt kích thước trang in trong javascript

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

Hướng dẫn how to set print page size in javascript - cách đặt kích thước trang in trong javascript

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:

    
    
    
    
    
    
        
    
        
    
    
        
    test info to print

    Các liên kết sau có thể hữu ích cho bạn:

    http://nice-tutorials.blogspot.com/2009/05/print-using-javascript.html.

    http://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

Làm cách nào để thay đổi kích thước trang trên A4 trong HTML?

Tạo phần với mỗi trang và sử dụng mã dưới đây để điều chỉnh lề, chiều cao và chiều rộng. Nếu bạn đang in kích thước A4. Sau đó, tạo một div với tất cả nội dung của bạn trong đó ...
72 dpi (web) = 595 x 842 pixel ..
300 dpi (in) = 2480 x 3508 pixel ..
600 dpi (in chất lượng cao) = 4960 x 7016 pixel ..

Làm thế nào để bạn in màn hình trong JavaScript?

Cửa sổ in () Phương thức Phương thức in () in nội dung của cửa sổ hiện tại.Phương thức in () mở hộp thoại in, cho phép người dùng chọn các tùy chọn in ưa thích. The print() method prints the contents of the current window. The print() method opens the Print Dialog Box, which lets the user to select preferred printing options.

Có một chức năng in trong JavaScript?

JavaScript in JavaScript không có bất kỳ đối tượng in hoặc phương thức in nào.Bạn không thể truy cập các thiết bị đầu ra từ JavaScript.Ngoại lệ duy nhất là bạn có thể gọi phương thức Window.print () trong trình duyệt để in nội dung của cửa sổ hiện tại.JavaScript does not have any print object or print methods. You cannot access output devices from JavaScript. The only exception is that you can call the window.print() method in the browser to print the content of the current window.

Làm cách nào để đặt kích thước trang trong CSS?

Ví dụ về chiều cao và chiều rộng CSS..
Đặt chiều cao và chiều rộng của một phần tử: Div {chiều cao: 200px;Chiều rộng: 50%;....
Đặt chiều cao và chiều rộng của một phần tử khác: Div {chiều cao: 100px;Chiều rộng: 500px;....
Phần tử này có chiều cao 100 pixel và chiều rộng tối đa 500 pixel: div {Max-width: 500px;Chiều cao: 100px ;.