解決Chrome打印宋體不支持加粗效果


    在emr病歷打印中(病歷頁面設置默認字體為宋體),使用window.print()進行前端網頁打印,會發現Chrome的網頁打印預覽中是不支持字體加粗效果的,雖然頁面效果上用font-weight是有效果的,但是就是那么神奇,打印出來就不行(具體什么原因還不知道)。
原頁面是這樣的

宋體打印情況下(粗體沒了)

 如果去掉默認的宋體字體(除了標題其他的都變成雅黑)

國家病歷打印要求中的字體統一為宋體的要求,沒辦法只能想辦法搞了。

然后做了一個頁面測試了下:

  嘗試了幾種不同宋體字體的效果和網友提供加陰影的方式,於是總結了兩個比較可靠的解決方案

① 換用其他宋體字體(如華文宋體)
<style media="print">
    * {
        font-family: STSong;
    }
</style>
效果如下:
感覺可以解決問題,而且修改量比較少。

  ② 就是利用文字陰影,你沒看錯,文字陰影。

<style media="print">
    .bold-shadow {
        text-shadow:0.15pt 0px 0px black,0.25pt 0px 0px black,0.35pt 0px 0px black,-0.25pt 0px 0px black,0px 0.25pt 0px black,0px -0.25pt 0px black;
    }
</style>
<script>
    function print() {
        $('.sde-grouptitle').addClass('bold-shadow'); // 給需要加粗的元素添加打印加粗class
        document.execCommand("print"); // 執行打印
    }
</script>
好家伙,出來的效果幾乎以假亂真,打印預覽效果如下:
打印出來的效果:

 打印效果還是杠杠的,這種方式就是比較麻煩,需要改造代碼。

 
大佬們還試過其他方式,在這里也記錄下,或者小伙伴們有好的解決方案也歡迎留言。
① 給Chrome設置自定義字體(說是有些機子可以但是有些機子無效,具體我也沒試過,感興趣的大伙自己試試。)
 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM