許多新聞和資訊網站都提供了一種產生便於列印的網頁的方法,所產生的頁面的排版佈局更有利於印表機的列印輸出,這種方法方便了我們從網頁上直接列印我們所需的內容,而不必為格式不規整傷腦筋,或貼到文字編輯器中重新排版。然而,我卻沒看到有多少網站詳細解釋這些是如何實現的,在這裡我提供一小段代碼——用PHP來實現生成便於打印的網頁並不是像想像的那麼難,希望對大家有幫助。
要產生方便列印的網頁,需要我們做哪些工作呢?這主要取決於你的網站特點,和你想要產生的版式特徵,不過有一些基本處理需要完成:
1、 頁寬-產生頁面的寬度必須限制,要列印A4的紙,大約網頁要在630像素寬。
2、 頁面背景色-為了美觀,許多網頁使用了不同的背景色和背景圖片,但是作為要列印的網頁,最適合效果的還是白底黑字為好。
3、 廣告條-移除頁面上的廣告
4、 表格的背景色-我們經常在表格中用顏色來強調訊息和標題,這些也必須移除。
5、 連結-頁面中的超連結也必須改變以使URL可見,例如:GBDirect應顯示為GBDirect ( http://www.gbdirect.co.uk/)
6、 選單-選單是最難被禁止的,然而如果你的頁面是使用模板來建構的話,那麼最簡單的方法是換用便於列印的沒有選單的模板。
這些產生便於列印頁面的所有方法,都是非常簡單的,需要實現的時候你可以被下面的程式碼放到網頁中:
//從環境變數中得到檔案的相對路徑
$page=substr($SCRIPT_NAME,1);
// 顯示一個圖示並連接到Printer Friendly Pages
// 方便列印頁面的產生程式pfp.php
?>
;
alt="Click here to produce a printer friendly page">
face="arial, helvetica" size="2">
🎜>
把目前頁面的名稱傳遞到pfp.php程式中,這個程式使用PHP的「file」函數把頁面當作一個字串來處理。當這個頁面被載入的時候,程式就可以增加、改寫或刪除HTML片段。
ereg('^.*/',$SCRIPT_FILENAME,$tmp);
$page_path = substr($tmp[0],0,-1);
? >
// { echo "錯誤- 頁面= $頁?>」。 「在本網站上不存在。」; 🎜> //得到頁上的內容並將它放在一個字串中 $ fcontents = join('', file("$page.inc") ); ///忽略顏色屬性,轉換為'ignore'替代'color' 'color','ignore',$fcontents); // 出現超連結中的「_blank」 ; // 替換標記 $fcontents = //顯示URL的絕對地址 $fcontents = ereg_replace('] *>;([^]*)', \2(\1)',$fcontents); > //將相對連結轉換為絕對連結 ']*>( [^]*)', "\2(http:/ /$HTTP_HOST/\1)";, $fcontents) ; fcontents = ereg_replace(' // 若有標記,則回復連結結束元素 > //輸出頁面 echo $fcontents; } ?> |
include("$page_o> |
http://www.bkjia.com/PHPjc/316009.html