91网首页-91网页版-91网在线观看-91网站免费观看-91网站永久视频-91网站在线播放

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

【C#】ChromiumHtmlToPdf:Net跨平臺輕松將HTML轉(zhuǎn)換為PDF,替代 wkHtmlToPdf 的開發(fā)庫

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

什么是 ChromiumHtmlToPdf?

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

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

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

安裝使用

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

Install-Package ChromeHtmlToPdf

從代碼中轉(zhuǎn)換文件或網(wǎng)址

using ChromiumHtmlToPdfLib;
using ChromiumHtmlToPdfLib.Settings;

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

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

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

當(dāng)然也可以使用異步方式

在 Linux 或 macOS 上安裝

安裝 Chrome

關(guān)于如何在 Linux 上安裝 Chrome,請參閱此鏈接:

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

關(guān)于如何在 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 標(biāo)志將默認(rèn)設(shè)置(在 Windows 上不會設(shè)置此標(biāo)志)。該庫會自動檢測您運(yùn)行代碼的操作系統(tǒng),并在需要時設(shè)置該標(biāo)志。如果由于某種原因您遇到轉(zhuǎn)換錯誤,請檢查是否設(shè)置了該標(biāo)志,如果沒有,則手動添加它。

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

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

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

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


閱讀原文:原文鏈接


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

主站蜘蛛池模板: 91九色蝌蚪熟女 | 91兔女郎| 精品91自产拍 | 精品国产第一页 | www.网站黄| 欧州一级婬 | 乱子伦一级在线现看 | 久热99| 成人亚欧网站在 | 露脸国产 | 日本大香伊一 | 午夜成人福利电影 | 中文字幕在线第一页 | 午夜成人福利 | 乱码国产精品 | 午夜成人免费影院 | 国产制服亚洲 | 日韩国产亚 | 国产偷啪视频一区 | 91精选视频 | 日本成年人网 | 国产午夜福利精品 | 日韩中文一区 | 日韩插穴 | 日韩在线欧美网 | 岛国一本做视频 | 国产性爱综合 | 中文字幕乱老妇 | 欧美日韩国产一区二 | 国产自产| 91人成亚洲高清在 | 国产日韩一区美利坚 | 精品二区 | 国产欧美日本亚洲 | 91九色国产| 精品二区三区特黄 | 国产精品亚洲日本 | 国产精品蜜桃丝袜 | 91香蕉在线 | 国产日韩免费视 | 国产欧美高清 |