Àμâ ÅÛÇø´ÀÌ ¸Ó¸´±Û(header)°ú ¹Ù´Ú±Û(footer) ¾ç½ÄÈ ¹®ÀÚ¿À» º¯È¯ÇÏ¿© HTML ¾ç½ÄÈÇÒ ¼ö ÀÖµµ·Ï µµ±¸¸¦ Á¦°øÇÑ´Ù.
Script | ¾ø´Ù. | |
HTML | ¾ø´Ù. | |
XML | id=idVal /> |
HeaderFooter °³Ã¼´Â Àμâ ÅÛÇø´(print template)ÀÌ »ç¿ëÇÏ´Â ÆäÀÌÁö ¼³Á¤ ´ëÈâ¿¡ ÀÖ´Â ¸Ó¸´±Û(header)°ú ¹Ù´Ú±Û(footer) ¾ç½ÄÈ ¹®ÀÚ¿·Î ºÎÅÍ HTML·Î º¯È¯ÇÏ´Â µµ±¸ÀÌ´Ù.
HeaderFooter ¿¤·¹¸àÆ®´Â Àμâ ÅÛÇø´À» ¸¸µé ¶§ »ç¿ëÇϵµ·Ï Á¦°øµÇ¾ú´Ù. Àμâ ÅÛÇø´ ¹Û¿¡ ÀÖÀ» ¶§´Â ±â´ÉÀûÀ¸·Î ºÒÈ°¼ºÈ µÈ´Ù.
»ç¿ëÇϱâ À§Çؼ´Â Àμâ ÅÚÇø´¿¡ ÀÖ´Â HeaderFooter ¿¤·¹¸àÆ®ÀÇ textHead¿Í textFoot ¼Ó¼º¿¡ ¸Ó¸´±Û°ú ¹Ù´Ú ¾ç½ÄȵéÀÇ ¹®ÀÚ¿À» ÀÔ·ÂÇÑ´Ù. Àμâ ÅÛÇø´¿¡ TemplatePrinter ¿¤·¹¸àÆ® »ðÀÔÇÏ°í ¿©±â¼ header¿Í footer ¼Ó¼ºµéÀ» ¹Ýȯ¹Þ¾Æ ÀÌµé ¹®ÀÚ¿À» ¾òÀ» ¼ö ÀÖ´Ù. ÀÌ ¾ç½ÄÀÇ ¹®ÀÚ¿Àº Àμ⠼³Á¤ ´ëÈâ¿¡ µð½ºÇ÷¹À̵Ǵ °Í°ú °ü°è¾øÀÌ »ç¿ëÀÚ°¡ »ý¼ºÇÏ¿© »ç¿ëÇÒ ¼öµµ ÀÖ´Ù. ¾ç½ÄÈ ¹®ÀÚ¿¿¡ µû¶ó ´Ù¸¥ ¼Ó¼ºµéÀ» ¼³Á¤ÇÒ ÇÊ¿ä°¡ ÀÖ´Ù.
»ç¿ëÀÚ°¡ ¸Ó¸´±Û°ú ¹Ù´Ú±ÛÀ» ¾ç½ÄÈÇá·Á¸é ÀμâµÉ Á¤º¸¸¦ ´ÙÀ½ Äڵ带 »ç¿ëÇÏ¿© ÁöÁ¤Ç϶ó.
Äڵ带Àº "ÆäÀÌÁö &p / &P"(ÇöÀç ÆäÀÌÁö / ÃÑ ÆäÀÌÁö) ó·³ °áÇÕµÉ ¼ö ÀÖ´Ù.
¿øÇÏ´Â ¹®ÀÚ¿ | ÄÚµå |
---|---|
À©µµ¿ìÀÇ Á¦¸ñ | &w |
¹®¼ÀÇ ÁÖ¼Ò(URL) | &u |
ªÀº ÀÏÀÚ ¾ç½Ä(Á¦¾îÆÇÀÇ Áö¿ª¼³Á¤¿¡ µû¶ó) | &d |
±ä ÀÏÀÚ ¾ç½Ä(Á¦¾îÆÇÀÇ Áö¿ª¼³Á¤¿¡ µû¶ó) | &D |
½Ã°£ ¾ç½Ä(Á¦¾îÆÇÀÇ Áö¿ª¼³Á¤¿¡ µû¶ó) | &t |
24 ½Ã°£ ½Ã°£ ¾ç½Ä | &T |
ÇöÀç ÆäÀÌÁö ¹øÈ£ | &p |
ÃÑ ÆäÀÌÁöÀÇ °¹¼ö | &P |
Áß¾Ó¿¡ À§Ä¡ÇÑ ¹®ÀÚ¿(¹®ÀÚ¿ ´ÙÀ½¿¡ &b) | &b |
¿À¸¥ÂÊ¿¡ À§ÈùÇÑ ¹®ÀÚ¿(¹®ÀÚ¿ ´ÙÀ½¿¡ &b&b) | &b&b |
´Ü¼ø ¾ÚÆÛ»÷µå(&) | && |
HeaderFooter¿¡¼ ÀÌ º¯È¯Àº ÇÑ ¹æÇâÀ¸·Î ÇÑ´Ù. HeaderFooter´Â ¾ç½ÄÈ ¹®ÀÚ¿À» HTML·Î º¯È¯ÇÏÁö¸¸, HTMLÀ» ¾ç½ÄÈ ¹®ÀÚ¿·Î º¯È¯ÇÏÁö´Â ¸øÇÑ´Ù.
ÀÌ ¿¤·¹¸àÆ®´Â Àμâ ÅÛÇø´¿¡¼ Çѹø¸¸ ³ª¿Í¾ß ÇÑ´Ù.
HEADERFOOTER ¿¤·¹¸àÆ®¸¦ »ç¿ëÇÏ·Á¸é, XML(Extensible Markup Language) À̸§ÀÚ¸®(namespace)¸¦ ÁöÁ¤ÇÏ¿©¾ß ÇÑ´Ù. import ¹®ÀåÀ» »ç¿ëÇÏ¿© À̸§ÀÚ¸®¸¦ ´ÙÀ½°ú °°ÀÌ ÁöÁ¤ÇÑ´Ù. ¿©±â¼ ÁöÁ¤µÈ À̸§ÀÚ¸®´Â "IE"ÀÌ´Ù
<IMPORT implementation="#default" namespace="IE">
HEADERFOOTER ¿¤·¹¸àÆ®ÀÇ ¹®¹ýÀº ÀÌ À̸§ÀÚ¸®¸¦ »ç¿ëÇÏ¿©
<IE:HEADERFOOTER ... />
HEADERFOOTER ¿¤·¹¸àÆ®´Â Á¾·áűװ¡ ¾øÀ¸¹Ç·Î XML ¹®¹ý¿¡ µû¶ó ű×Á¾·á Àü¿¡ ½½·¡½¬(/)·Î ´Ý¾ÆÁà¾ßÇÑ´Ù.
¼³¸íÀ» À§ÇÑ ¿¹Á¦
¿¹Á¦´Â Àμâ ÅÛÇø´ ¿øº» ¹®¼¸¦ Ç¥ÇöÇϱâ À§ÇÏ¿© LAYOUTRECT°ú DEVICERECT ¿¤·¹¸àÆ®µéÀ» »ý¼ºÇÏ°í HeaderFooter¿¡ Àμâ ÀÛ¾÷ÇÒ ÆäÀÌÁöµé¿¡ ¸Ó¸´±Û°ú ¹Ù´Ú±ÛÀ» Ãß°¡ÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇÑ´Ù. ÀÌÇظ¦ µ½±â À§ÇÏ¿© ¸Ó¸´±Û°ú ¹Ù´Ú±Û¸¸ º¸¿©ÁØ´Ù.
º¯¼ö headersFootersAddedÀÇ ºÎ¿ï°ªÀ» °üÂûÇ϶ó.
¸Ó¸´±Û°ú ¹Ù´Ú±ÛÀÌ Àý´ëÀ§Ä¡¿¡ ¹èÄ¡µÇ°í, DeviceRect ¼ÓÀÇ ´Ù¸¥ ¿¤·¹¸àÆ®¸¦ º¯°æ½ÃÅ°Áö ¾ÊÁö¸¸, ÀÌ LayoutRectÀÇ Àû¿ëÀº Àμâ ÅÛÇø´ ¼ÓÀÇ DEVICERECT ¿¤·¹¸àÆ®°¡ º¯°æµÇ¸é LAYOUTRECT ¿¤·¹¸àÆ®¿¡ ÀÖ´Â ³»¿ëÀ» ´Ù½Ã ¹èÄ¡ÇÑ´Ù.
»õ·Î ÃʱâÈÇÒ ¶§ LAYOUTRECT ¿¤·¹¸àÆ®¿¡ ´Ù½Ã onlayoutcomplete À̺¥Æ®°¡ ¹ß»ýµÇ°í óÀ½ ·çÇÁ´Â onlayoutcomplete ó¸® ±â´ÉÀÌ È£ÃâµÇ´Âµ¥, ¿¹Á¦¿¡¼ ÀÌ°ÍÀÌ OnRectCompleteÀÌ´Ù.
º¯¼ö headersFootersAdded´Â óÀ½ °úÁ¤ÀÌ ÆäÀÌÁöµé¿¡ µµ´ÞÇϸé Ãß°¡µÈ ¸Ó¸´±Ûµé·ÎºÎÅÍ ´Ù½Ã ¹Ýº¹µÇ´Â °ÍÀ» ¹æÁöÇϱâ À§ÇÏ¿© true°¡ µÈ´Ù.
ÃÖÃÊ LAYOUTRECT ¿¤·¹¸àÆ®¸¦ »ý¼ºÇÒ ¶§ ¸Ó¸´±Û°ú ¹Ù´Ú±ÛÀ» Ãß°¡ÇÏ´Â °Íµµ ÁÁÀº ¹æ¹ýÀÌ´Ù. ÃÑ ÆäÀÌÁö¼ö´Â ¹èÄ¡°¡ ¿Ï·áµÈ ÈÄ Ãß°¡µÈ´Ù.
<HTML xmlns:IE> <IMPORT namespace="ie" implementation="#default"> <STYLE type="text/css"> .header{ position:absolute;top:.25in;width:6in;left:1in;} .footer{ position:absolute;top:10.5in;width:6in;left:1in;} </STYLE> <IE:TemplatePrinter id="printer"/> <IE:HEADERFOOTER id="headfoot"/> <DIV id="pagecontainer"> <IE:DEVICERECT id="page1" media="print" class="pagestyle"> <IE:LAYOUTRECT id="LRect1" contentsrc="document" onlayoutcomplete="OnRectComplete()" nextRect="LRect2" class="layoutstyle"/> </IE:DEVICERECT> </DIV> </DIV> <SCRIPT> var headersFootersAdded=false; function OnRectComplete(){ if (event.contentOverflow == true) AddNewPage(); else if (headersFootersAdded == false){ headfoot.textHead=printer.header; headfoot.textFoot=printer.footer; headfoot.url=dialogArguments.__IE_BrowseDocument.URL; headfoot.title=dialogArguments.__IE_BrowseDocument.title; dfoot.pageTotal=document.all.tags('DEVICERECT').length; for (i=1; i <= headfoot.pageTotal; i++){ headfoot.page=i; AddHeaderAndFooterToPage(i); } } headersFootersAdded=true; } function AddHeaderAndFooterToPage(pageNum){ newHeader=headfoot.htmlHead; newFooter=headfoot.htmlFoot; document.all('page'+pageNum).insertAdjacentHTML('afterBegin', newHeader); document.all('page'+pageNum).insertAdjacentHTML('beforeEnd', newFooter); } function AddNewPage(){ // LAYOUTRECT¿¡ ÀÌ ±â´ÉÀ» Ãß°¡ÇÏ°í ƯÁ¤ Àμâ ÅÛÇø´ÀÇ ÇÊ¿ä¿¡ ¿¡µû¶ó DEVICERECT¿¡µµ Ãß°¡°¡ °¡´ÉÇÏ´Ù, } oObj=headfoot; </SCRIPT>