關於作者:
本文由微軟最有價值專家 MVP 陳葵懋 提供。微軟十分感謝 MVP 主動地將他們的經驗與上百萬名其他技術使用者交流。MVP 陳葵懋 同時也將此篇文章放在他的部落格內,歡迎您按 此處 瀏覽 MVP 陳葵懋更多的技術文章、經驗分享與觀點。
問題的來龍去脈
使用者反應用 IE 9 進行紙張列印功能時,在連續列印多張的情況下,第六筆資料後會開始發生漏字現象,而且漏字的情況是隨機並沒有固定在哪一個位置,此外漏字的字數也不固定。
該頁面是以 ASP.NET 程式搭配使用者查詢條件,由資料庫取出資料後,組成 HTML Tag 輸出於另一個頁面上,每一筆資料一頁。
[實體紙張列印 - 正常版]
[實體紙張列印 - 發生漏字]
問題的發生原因
(1)測試其它 Browser 是否有相同問題,實測結果 IE7、IE8、Chrome 均正常。
(2)懷疑是否為 IE 版本文件解析的問題,因此嘗試以強制限定文件解析採用 IE 8 的方式來測試,但問題依舊。
(3)嘗試把輸出後的 ASPX 網頁直接以 render 後的 HTML 原始碼,另存為一份 HTML 網頁檔,再用IE9開啟後執行列印,結果不會有問題。
由於單純的 HTML 頁面輸出跟由程式去 Render 出來的頁面,差別在於套用的 CSS,因此試著把原本程式中套用的 CSS 先拿掉,則列印正常不會漏字,至此可以確認問題應該發生在 CSS 樣式,而 CSS 內容僅設定字型及字體大小。
問題的解決方法
進一步測試 CSS 內容後,發現原先的字型是『微體正黑體』,在改為新細明體及細明體,分別再進行測試,其結果列印均已正常。
由於目前並無法確定是否為『微體正黑體』字型中的缺陷而造成此現象,而根據其它有關『微體正黑體』字型在網頁開發上所見問題(請參閱其它相關資訊) ,可得知由於『微體正黑體』字型在 IE 9 瀏覽器上可能引起類似現象,因此目前較建議的做法為請調整改用其它標準字型,例如:新細明體或標楷體等標準字型。
其他相關資訊
請讓我們知道
![]() |
還滿意我們寫的內容嗎?無論您是遇到了以下任何一種情況: |