新進文章

[C#] PuppeteerSharp - 快照網頁並產出 PDF + 設定 PDF 格式

  • 240

Puppeteer-Sharp 是一個可以在.NET環境下運行的工具,它可以讓開發人員使用C#程式碼控制Headless Chrome或Chromium瀏覽器。

甚至你可以用自己的瀏覽器 ex.firefox

你可以透過這個工具來模擬人類使用瀏覽器的行為,像是瀏覽網頁、填寫表單、截圖或是生成PDF檔案。這篇文章將會介紹Puppeteer-Sharp 來將蝦皮某一個搜尋網頁

快照成 PDF,這套件有一個好處他自建瀏覽器核心,所以理論上應該是可以 Linux 運行,看一下網路上文件應該是沒啥問題。

 

...繼續閱讀 »
on donmadotblog

Mutex:一種跨 Process 之間的等待機制 - 在 .NET 應用程式的實踐 (下)

在前篇這樣的兩個應用程式的撰寫在 Windows 上執行時是可以順利完成所需的要求。

但一旦放到 "非 Windows" 上的環境執行時,卻發生了異狀:
應用程式 A 居然找不到應用程式 B 所建立的 Mutex

發生了執行 30 次(每次等待 1 秒後再找) 後,直接結束應用程式 A 的情況。

難道???

...繼續閱讀 »
on jamestsai

Mutex:一種跨 Process 之間的等待機制 - 在 .NET 應用程式的實踐 (上)

名詞定義:
Process - 已被載入到記憶體中執行的 Program 。

應用程式 A 需要等待應用程式 B 完成動作 C 之後,才能繼續執行;換句話說,在 B 執行完 C 之前,應用程式 A 必須被 blocked(阻塞)或 paused(暫停)

這樣的需求,在現代化的作業系統的設計中,有很多種方式可以完成,例如:signal、pipe、mutex、semaphore…等。

...繼續閱讀 »
on jamestsai

有關 GStreamerPlayer 跨平台運作的處理

在 iThome 舉辦的 iTHelp 2025 鐵人賽當中發表了 "莫名其妙就跟世界等級的 OpenSource 專案攪和了!?" 系列文。

其中展示了: 

  1. 在 Windows 
  2. 在 Ubuntu (透過 WSL)
  3. 在 macOS

三種桌面環境中的 .NET 裝置端應用程式,並使用了 GStreamer 的技術來播放多媒體資訊,而其中 Samples 底下共有兩個專案。

一個是純 Console 的專案;一個是使用 Avalonia 的 UI 專案。

...繼續閱讀 »
on jamestsai

Claude Code 通過 OpenSpec 實現規格驅動開發

在 Spec-Driven Development(SDD)逐漸被討論的今天,除了 GitHub 推出的 Spec-Kit,社群也出現了另一個有趣的專案 —— OpenSpec。
它的定位很清楚:用一份規格文件,驅動整個開發流程,並且盡可能保持「開放、可組合、可驗證」。

這篇文章會示範如何安裝與使用 OpenSpec,並分享我在實際操作時的心得。

...繼續閱讀 »
on yc421206

在 WSL 的 Ubuntu 執行 .NET 裝置端應用 - 以 GStreamerPlayer 為例

在 iThome 舉辦的 iTHelp 2025 鐵人賽當中發表了 "莫名其妙就跟世界等級的 OpenSource 專案攪和了!?" 系列文。

其中 "EP 30 - .NET + AvaloniaUI + GStreamer 跨平台" 裡,有展示了透過 WSL 在 Ubuntu 的環境中使用 GStreamerPlayer 的應用程式 (透過 .NET + Avalonia UI + GStreamer 的技術),來透過 GStreamer 的技術播放影片。

...繼續閱讀 »
on jamestsai

進修課程