欧美成人精品手机在线观看_69视频国产_动漫精品第一页_日韩中文字幕网 - 日本欧美一区二区

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

【C#】ChromiumHtmlToPdf:Net跨平臺輕松將HTML轉換為PDF,替代 wkHtmlToPdf 的開發庫

admin
2025年3月22日 22:52 本文熱度 123

什么是 ChromiumHtmlToPdf?

ChromiumHtmlToPdf 是一個 100% 純托管的 C# .NETStandard 2.0 庫和 .NET 8 控制臺應用程序,也適用于 Linux 和 macOS。它利用 Google Chrome 或 Microsoft Edge 瀏覽器將 HTML 轉換為 PDF 格式,(MIT 許可證授權)。

從 4.0 版本開始,該庫已完全支持異步操作,但仍然可以選擇不使用異步功能。

一個替代 wkHtmlToPdf 的工具。雖然 wkHtmlToPdf 是一個很棒的工具,但該項目已在 GitHub 上歸檔,不再添加新功能,且與 HTML5 的兼容性也不夠完美。

安裝使用

在 Visual Studio 的包管理器控制臺中,輸入以下命令:

Install-Package ChromeHtmlToPdf

從代碼中轉換文件或網址

using ChromiumHtmlToPdfLib;
using ChromiumHtmlToPdfLib.Settings;

namespaceChromeHtmlToPdfDemo
{
    internalclassProgram
    {
        static void Main(string[] args)
        {
            // 創建 PageSettings 實例
            var pageSettings = new PageSettings();

            // 創建輸入 URI
            var inputUri = new ConvertUri("https://www.dotnetshare.com/");

            // 創建輸出流(例如,保存到文件)
            using (var outputStream = new FileStream(@"dotnetshare.pdf", FileMode.Create, FileAccess.Write))
            {
                // 創建 Converter 實例
                using (var converter = new Converter())
                {
                    // 調用 ConvertToPdf 方法
                    converter.ConvertToPdf(inputUri, outputStream, pageSettings);
                }
            } 
        }
    }
}

當然也可以使用異步方式

在 Linux 或 macOS 上安裝

安裝 Chrome

關于如何在 Linux 上安裝 Chrome,請參閱此鏈接:

https://support.google.com/chrome/a/answer/9025903?hl=en

關于如何在 macOS 上安裝 Chrome,請參閱此鏈接:

https://support.google.com/chrome/a/answer/7550274?hl=en

在 Linux Ubuntu 上安裝 Chrome 的示例

wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add -

sudo sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list'

sudo apt-get update

sudo apt-get install google-chrome-stable

google-chrome --version

google-chrome --no-sandbox --user-data-dir

問題

在 Linux 或 Docker 容器中使用該庫

為了使庫正常工作,--no-sandbox 標志將默認設置(在 Windows 上不會設置此標志)。該庫會自動檢測您運行代碼的操作系統,并在需要時設置該標志。如果由于某種原因您遇到轉換錯誤,請檢查是否設置了該標志,如果沒有,則手動添加它。

converter.AddChromiumArgument("--no-sandbox");
當 Chrome 在 Docker 容器中因未知原因崩潰時

在大多數桌面 Linux 發行版中,/dev/shm 分區的默認大小足夠大。然而,在許多使用 Docker 容器的云提供商(如 Google App Engine Flexible Environment)或 Heroku 上,/dev/shm 的默認大小明顯較小(分別為 64MB 和 5MB)。在這些平臺上,無法更改 /dev/shm 的大小,這使得使用 Chrome 變得困難甚至不可能,尤其是對于那些希望利用其新的無頭模式的用戶。

如果無法更改分區大小,則添加 --disable-dev-shm-usage 標志,告知 Chrome 不要使用該分區。

converter.AddChromiumArgument("--disable-dev-shm-usage");


閱讀原文:原文鏈接


該文章在 2025/3/24 17:09:09 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved