กำหนด print area ใน javascript print

รวมโค้ด AJAX Javascript Library jQuery Framework ต่างๆ ที่ใช้ คู่กับ php Script Ajax โค้ด Ajax Prototype UI แนะนำได้ที่นี่

Moderator: mindphp, ผู้ดูแลกระดาน

ภาพประจำตัวสมาชิก
jataz2
PHP Super Member
PHP Super Member
โพสต์: 275
ลงทะเบียนเมื่อ: 22/02/2011 11:48 am

กำหนด print area ใน javascript print

โพสต์ที่ยังไม่ได้อ่าน โดย jataz2 »

ความรู้น้อย เเต่เจอมาเลยเอามาฝากกันครับ

อยากกำหนดพื้นที่ที่จะถูก print (คือ print เฉพาะ area ที่ต้องการ)

เช่นจะ print เฉพาะส่วนที่เป็น Article เท่านั้น ไม่งั้นไม่ต้อง print ออกมา

มีวิธีทำไม่ยากดังนี้ครับ

จะพิมพ์เฉพาะเนื้อหาที่อยู่ในเเท็ก div ที่ id=printContent เท่านั้น

โค้ด: เลือกทั้งหมด

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>Untitled</title>
    <script language="javascript" type="text/javascript">
 function printWindow()
{
   var printReadyEle = document.getElementById("printContent");
   var shtml = '<HTML>\n<HEAD>\n';
   if (document.getElementsByTagName != null)
   {
      var sheadTags = document.getElementsByTagName("head");
      if (sheadTags.length > 0)
         shtml += sheadTags[0].innerHTML;
    }
    shtml += '</HEAD>\n<BODY>\n';
    if (printReadyEle != null)
    {
       shtml += '<form name = frmform1>';
       shtml += printReadyEle.innerHTML;
    }
    shtml += '\n</form>\n</BODY>\n</HTML>';
    var printWin1 = window.open();
    printWin1.document.open();
    printWin1.document.write(shtml);
    printWin1.document.close();
    printWin1.print();
}
</script>
</head>
<body>
     <form id="form1" runat="server">
        <div id="A">
          ส่วนนี้จะไม่ถูก Print
         </div>
           <div id="printContent">
                <table width="100%">
                    <tr align="left">
                        <td>
                            <asp:PlaceHolder ID="PlaceHolder1" runat="server"></asp:PlaceHolder>
                        </td>
                    </tr>
                    <tr align="left">
                        <td>
                        </td>
                    </tr>
                    <tr align="left">
                        <td valign="top">
                            <asp:PlaceHolder ID="PlaceHolder2" runat="server"></asp:PlaceHolder>
                            <asp:PlaceHolder ID="PlaceHolder3" runat="server"></asp:PlaceHolder>
                            <asp:PlaceHolder ID="PlaceHolder4" runat="server"></asp:PlaceHolder>
                        </td>
                    </tr>
                    <tr>
                        <td align="right">
                            <input type="button" value="Print" onclick="printWindow();">
                        </td>
                    </tr>
                </table>
            </div>
      <div id="B">
          ส่วนนี้ก็จะไม่ถูก Print อีกเช่นกัน
         </div>
     </form>
</body>
แก้ไขล่าสุดโดย jataz2 เมื่อ 28/08/2019 2:50 pm, แก้ไขไปแล้ว 1 ครั้ง.
Watto
PHP Newbie
PHP Newbie
โพสต์: 2
ลงทะเบียนเมื่อ: 08/06/2011 12:23 am

Re: กำหนด print area ใน javascript print

โพสต์ที่ยังไม่ได้อ่าน โดย Watto »

เพิ่งรู้ว่ามันกำหนด area ได้ด้วยเหมือนกันนะเนี่ย

ขอบคุณครับ
ตอบกลับโพส

ผู้ใช้งานขณะนี้

สมาชิกกำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และบุคลทั่วไป 57