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>
 

2025年5月20日 星期二

SQL SERVER OLTP OLAP範例資料庫

OLTP資料庫(.bak檔)

https://learn.microsoft.com/en-us/sql/samples/adventureworks-install-configure?view=sql-server-ver16&tabs=ssms

OLAP資料庫(.abf檔)

 https://github.com/Microsoft/sql-server-samples/releases/tag/adventureworks-analysis-services


2025年5月6日 星期二

freeFTPd自動啟動設定順序

 freeFTPd是套免費的SFTP SERVER支援22 port SFTP及21port FTP,一般找到免費的都不支援SFTP只有技援FTPS。

之前一直有個困擾在幾台主機安裝後,有幾台重開機後,SFTP SERVER必須手動去啟動,一直以來老是搞不懂為什麼,今天看到一篇文freeFTPd windows 使用 - 枫叶落終於豁然開朗:)

原來得要半手動的有順序的進行設定,測試設定後整理如下:

使用freeFTPd工具架設SFTP SERVER (port=22)。安裝完成後進行以下步驟設定,才可於日後重開機後自行啟動SFTP SERVER

1.     安裝 freeFTPd 時,選擇支援以服務方式運行。

2.     停止Windows服務:freeFTPdService,將登入者改為本機系統管理員身份。

3.     將桌面捷徑 freeFTPdService.exe為以系統管理員身分執行再啟動,進行設定。

4.     在設定畫面之SFTP 點選Start,啟動後再點 Applu&Save

5.     接著再點選 Stop鈕。

6.     在設定畫面之Users建立使用者,最後點選該畫面的Applu&Save鈕。

7.     最後啟動Windows服務:freeFTPdService

8.     登出目前帳號後,以winscp工具進行測試,確認是否可正常連線。


2025年4月29日 星期二

VS CODE離線安裝套件方式

VS CODE可攜式安裝下載 https://code.visualstudio.com/download,點選windows 下.zip x64下載VSCode-win32-x64-1.99.3.zip,解壓縮到某目錄。

安裝離線版套件,例如安裝powershell套件,

先安裝最新版 powershell ,進入https://github.com/PowerShell/PowerShell

在右方Releases 會顯示最新版本號,點選進入去下載 PowerShell-7.5.1-win-arm64.msi


再到 https://marketplace.visualstudio.com/ 找需要的安裝檔vsix。


導引到https://github.com/PowerShell/vscode-powershell 一樣在右方Releases 會顯示最新版本號,點進去下載powershell-2025.0.0.vsix


開啟code.exe ,點選左方sidebar 的Extensions, 在視窗右上方 ... 選取 install from VSIX ...,就可以離線安裝所需的套件了。

心得:powershell 7功能較多,雖無像powershell 5 自帶ISE,但使用VS CODE套件也足以滿足所需,重點是還可以debug,十分方便。



2025年4月16日 星期三

tsql 不用unpivot 將columns轉rows

有個需求需要將多一筆資料的多欄位值轉成多列資料

之前都使用unpivot,試了一下直接用outer apply就可達成,十分好用。

其中concat 會自動處理null 為空值再串聯文字,所以也不用判斷isnull(col1,'')了。

declare @tab table (col1 nvarchar(10),col2 nvarchar(10),col3 nvarchar(10),col4 nvarchar(10))

insert into @tab values

('A','X','Y','Z'),

('B','X','Y',null),

('A','1','2','')

select distinct  col1,y.value

from @tab outer apply   (select * from string_split(concat(col2,',',col3,',',col4),',') where value > '') y

pdf.js 無法顯示部份字

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