2025年5月27日 星期二

pdf.js 無法顯示部份字

有個檔案在pdf viewer套件中無法顯示內容,但下載檔案後使用工具又可以正常顯示。

本來以為是套件版本太舊的原因,於是去下載pdf viewer套件 https://github.com/mozilla/pdf.js

更新後還是一樣。

覺得應是字型缺漏的問題,於是用PDF-XChange查看文件屬性,編碼為UniCNS-UCS2-H,字型是細明體_HKSCS。

在套件的目錄中看到了有一個cmaps的目錄,裡頭看似有許多.bcmap的檔案,含了UniCNS-UCS2-H.bcmap

什麼是 UniCNS-UCS2-H

  • UniCNS-UCS2-H 是 Adobe 的一個 CMap 名稱,常用於繁體中文 CID 字型中。

  • UCS2」代表 Unicode 字符集(用兩個位元組表示,即 UTF-16 的基本多語言平面 BMP)。

  • CNS」代表中華民國(台灣)所訂定的 CNS11643 字符集。

  • H」代表水平書寫(Horizontal),如果是垂直書寫則會是 V


不管,反正檢視會漏字。
在查看時也發現新版的套件改用了.mjs而不是.js,所以在IIS MINE類型中把
.ftl  text/plain  >>套件中文化用
.mjs application/javascript
.bcmap application/octet-stream
新增上去,結果無法顯示的字就出現了,連版本更新也不用了。

如果是web.config,也可加入方便本機debug
<system.webServer>
  <staticContent>
   <remove fileExtension=".mjs"/>
   <mimeMap fileExtension=".mjs" mimeType="text/javascript"/>
   <remove fileExtension=".bcmap"/>
   <mimeMap fileExtension=".bcmap" mimeType="application/octet-stream"/>
    <remove fileExtension=".ftl"/>
   <mimeMap fileExtension=".ftl" mimeType="text/plain"/>
  </staticContent>
</system.webServer>
 

沒有留言:

張貼留言

pdf.js 無法顯示部份字

有個檔案在pdf viewer套件中無法顯示內容,但下載檔案後使用工具又可以正常顯示。 本來以為是套件版本太舊的原因,於是去下載pdf viewer套件 https://github.com/mozilla/pdf.js 更新後還是一樣。 覺得應是字型缺漏的問題,於是用PDF-X...