Àμâ ÅÛÇø´ÀÌ ¸Ó¸´±Û(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>