顯示具有 Unix Like 標籤的文章。 顯示所有文章
顯示具有 Unix Like 標籤的文章。 顯示所有文章

2026年8月1日 星期六

本地端MARKDOWN檔,轉換成HTML 或 PDF檔工具

情境: 因筆者使用Google Antigravity CLI 產出大部分是以文字狀態格式,但有時候ASCII文字產出內容,文字可讀性不佳(如有表格會有偏移情形),故可安裝本地端PANDOC、Weasyprint套件(含相依Mingw64 / GTK 執行環境 軟件),安裝本地端處理MARKDOWN格式軟體,轉換成可讀性較高之PDF格式,以下為作業系統、PYTHON呼叫及相依函式庫如 Pango、Cairo、GDK Pixbuf 的載入狀態 關係梳理:

Windows 上 Python、WeasyPrint(CSS 轉 PDF 引擎)與 Mingw64/GTK 的相依套件關係

1. Windows OS 與 DLL 載入機制

  • Windows Loader 會依序在 程式所在目錄 → 系統目錄 → PATH 搜尋 .dll
  • 若相依的 DLL 不在這些路徑,會出現 FileNotFoundError 0x7e

2. Python 與 CFFI(橋接層)

  • WeasyPrint 以 Python 為外層,但核心排版功能依賴 Pango、Cairo、GObject
  • CFFI 在 import weasyprint 時會呼叫 LoadLibrary 去載入 libpango-1.0-0.dlllibgobject-2.0-0.dll 等。
  • Python 3.8+ 加強了 DLL 搜尋安全,導致只能在標準路徑找到外部 DLL。

3. Mingw64 / GTK 執行環境

  • 需要透過 MSYS2 安裝 mingw-w64-x86_64-* 套件,產生 Windows 版的 .dll
  • 依賴樹狀結構 (需系統底層 C 庫(Cairo, Pango, GDK-PixBuf)):
    • WeasyPrint → libpango-1.0-0.dll
    • libpango → libgobject-2.0-0.dll、libcairo-2.dll
    • cairo → libpng、libjpeg、fontconfig、harfbuzz 等。
  • 因此必須把 C:\msys64\mingw64\bin 加入 PATH,一次性解決所有子依賴。

4. 常見錯誤對照表

錯誤訊息 根本原因 解決方案
cannot load library libgobject-2.0-0 缺少 glib2 套件或未在 PATH pacman -S mingw-w64-x86_64-glib2 並加入 PATH
cannot load library libpango-1.0-0 缺少 pango 套件 pacman -S mingw-w64-x86_64-pango
ImportError: cannot import name 'cairo' 缺少 cairo 套件 pacman -S mingw-w64-x86_64-cairo

5. 測試步驟

  1. 檢查 DLL

    where libgobject-2.0-0.dll
    where libpango-1.0-0.dll
  2. 顯示 WeasyPrint 系統資訊

    weasyprint --info
  3. HTML→PDF 測試

    weasyprint "data:text/html,<h1>Hello</h1>" test.pdf
  4. Python 測試

    from weasyprint import HTML
    HTML(string="<h1>Hello</h1>").write_pdf("test2.pdf")
    print("PDF 轉檔成功!")
  5.  Pandoc 測試  (安裝 winget install JohnMacFarlane.Pandoc)

            pandoc --version

   pandoc "C:\MARKDOWN_2_PDF.md"  

                -f markdown -t html  

               -o "C:\MARKDOWN_2_PDF.html"

相關KEYWORD資訊:

MSYS2,

將易偏移的 ASCII 藝術圖,系統能透過 結構分析 與  GfmTableFormatter 模組,自動將其轉化為符合 GitHub Flavored Markdown (GFM),增加文件可讀性 

2008年7月30日 星期三

KDE 桌面環境軟體

KDE(K Desktop Environment),為Unix Like專用軟體,供網際網路操作使用界面,多媒體,圖像處理等

2008年5月12日 星期一

安全性ftp連線 (SFTP)

下面指令為與遠端hostname ip建立安全性(即帳號密碼封包加密)FTP連線
sftp username@hostnameip

get rm.html /cygdrive/c 左邊指令為複製rm.htlm 至C槽

put /cygderiv/c/x.html /root 左邊指令為上傳C槽之x.html 至 /root
unix like

註:一般FTP協定屬明碼傳輸,SFTP則無法檢視到

encode文字編碼查詢

日文文字編碼資訊
變換文字編碼查詢(日文)


德文文字編碼資訊

Unicode編碼資訊

郵件編碼,亂碼顯示可透過此網站提供之服務轉換看看

以下是日文Linux系統轉換編碼指令
nkf -e example.txt
-eexample.txt 變換為EUC-JP編碼方式輸出
-s Shift JIS
- JIS

iconv -f sjis -t eucjp example.txt
-f 為輸入檔案格式
-t 為輸出檔案格式
example.txt 轉換成euc-jp格式

相關軟體:
Locale Emulator ,編碼模擬軟體
NTLEA ( NT Locale Emulator Advance),
KanjiTranslator, 可處理編碼(ShiftJIS, ISO-2022-JP, EUC-JP, UTF-8等日文編碼)。
Yudit,Unicode文字編輯器

2008年5月7日 星期三

如何印出PS檔案格式

在Linux環境下 lpr *.ps



由Setup安裝 (選擇印表機,及指定IP後,在以OpenOffice來列印)

2008年5月5日 星期一

以Find指令查詢特定關鍵字

find / -type d | grep mysql$ 參數d 表示找檔案

上面指令是 查詢與mysql所有相關檔案

ZIP解壓縮(TAR)

(開放源碼)7-ZIP解壓縮軟體(可解ZIP,ISO格式)

解 .tar.bz2 在Linux環境下,可下 tar jxvf *.tar.bz2
解 .tar.gz 在Linux環境下,可下 tar zxvf *.tar.gz

解壓縮(日文以"解凍"表示)
壓縮工具查詢

相關軟體:
(開放源碼)peazip
Bandizip, free Archiver for home and office 

zip repair,修復有問題ZIP工具

RPM常用指令

rpm -q 查詢已安裝之套件
rpm -e 移除舊Kernels
rpm -Uvh 昇級
rpm -ivh *.rpm 解壓縮執行 (7-zip亦可解開)

Unix Like環境之 eth0網卡設定

編輯 /etc/sysconfig/networking/devices/ifcfg-eth0

指定自己的
IP
SubMask
Default Gateway

透過指令 Setup | 選"Network" 去設定

以UnixLike,自行設置防火牆

這本書分成兩種OS(Part1為Linux,Part2為FreeBSD)分別教導讀者,如何利用Linux作業系統,來建置防火牆ファイアウォール,如何設置Iptable

相關查詢

優點:免費,且可將多餘比較舊的電腦充當Firewall
缺點:須持續kernel安全性更新,及Iptable之條件須持續維護,速度上亦無法與ASIC專業晶片處理比擬

以UnixLike,完成Router路由器的建置

這本書是教導讀者,如何利用Linux作業系統,來建置路由器ルーター

優點:免費,且可將多餘比較舊的電腦充當Router
缺點:較耗電,且速度上比較無法與專用路由器比擬

註:
微軟伺服器,亦提供電腦,可充當路由器之功能設定

UnixLike修改開機順序

vi /etc/grub.conf
將default= 數字 改順序

文字Mode與圖形Mode切換

vi /etc/inittab 將id:5:initdefault (5表圖形Mode ,改成3開機時改為文字Mode)

文字Mode下kdm指令 切至 KDE環境
文字Mode下gdm指令 切至GNOME環境

2008年4月25日 星期五

Cygdrive Cygwin切換至Windows系統槽(C槽)

進入Cygwin命令提示環境
鍵入
cd /cygdrive/c
即可切換至Windows環境之系統槽 或 其它槽

(開放源碼)pmcyg,Cygwin安裝軟體

相關系統:

MinGW, cd /c 進入C槽

 mount c:/mingw/temp /temp ,將Windows系統槽,掛上MinGW系統磁碟槽
GNUwin32,

2008年4月18日 星期五

檢視Cygwin安裝環境與套件指令

cygcheck -s -v -r > cygcheck.txt

上面指令指的是匯出cygwin環境與安裝套件至 cygcheck.txt


選好欲安裝之套件後,可於狀態提示下執行下列指令,進行安裝
$ ./configure && make && make install



可單獨查詢XFree86版次指令
cygcheck -c XFree86-bin

2008年4月7日 星期一

顯示Cygwin系統環境狀態

Cygcheck -s -v -r > cygcheck.txt
顯示Cygwin所有環境狀態指令
,其中 環境變數 執行 ./configure 找不到 hostname 時 ,可自行增加 hostname ,才能正常執行編譯


echo $PATH
顯示系統執行路徑查詢


出現 configure: error: cannot guess build type ; you must specify one
可執行 ./config.guess 查詢系統類型
,執行 ./configure --build i686-pc-cygwin




Grep過濾指令

cat test.txt | grep d*og > filter.txt
將test.txt文字檔內,所有相關與d og有關之特定之字串,全部予以移除,並另存成filter.txt

 GrepWin,視窗版 特定字串搜集/替代工具

移除文字檔案特定欄位指令

cut -f 1 test.txt > filter.txt
將 test.txt 第1個欄位資料移除,並將結果另存成filter.txt 新檔案

計算文字檔案之行數,字數,檔案大小之指令

WC file1.txt
計算file1.txt 之列數,字數,與檔案大小