当前位置: 首页 > news >正文

C# 通过chrome插件将HTML网页转换为PDF

将HTML网页内容转换为 PDF 格式能方便文档的后续打印、存档和分享等。之前介绍过如果通过QT插件将HTML转为PDF文件,本文将介绍另一个新的转换方法,通过谷歌浏览器Chrome插件将HTML网页转PDF文件。

  • 首先需要安装Spire.PDF for .NET 库(10.7.21版本及以上)。可以通过此链接下载产品包后手动添加引用,或者直接通过NuGet安装。
    https://www.e-iceblue.cn/Downloads/Spire-PDF-NET.html

  • 此外还需要用到谷歌浏览器插件,请确保系统中安装了chrome.exe

C# 通过Chrome插件将HTML网页转换为PDF文件

Spire.PDF for .NET新增了 ChromeHtmlConverter.ConvertToPdf() 方法,支持使用 Chrome 浏览器插件将 HTML 网页转换为 PDF。该方法中的 3 个参数为:

  • string input:输入 HTML 文件路径
  • string output:输出 PDF 文件路径
  • ConvertOptions:转换设置,可自定义设置转换超时、PDF 纸张大小和页边距等

示例代码如下:

using Spire.Additions.Chrome;

namespace ConvertHtmlToPdfUsingChrome
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // 指定输入输出文档路径
            string inputUrl = @"https://www.e-iceblue.cn/about-us.html";
            string outputFile = @"HtmlToPDF.pdf";

            // 指定Chrome插件的路径
            string chromeLocation = @"C:\Program Files\Google\Chrome\Application\chrome.exe";

            // 创建 ChromeHtmlConverter 对象
            ChromeHtmlConverter converter = new ChromeHtmlConverter(chromeLocation);

            // 创建 ConvertOptions 对象
            ConvertOptions options = new ConvertOptions();
            // 设置转换超时
            options.Timeout = 10 * 3000;
            // 设置转换后PDF页面的纸张大小和页边距
            options.PageSettings = new PageSettings()
            {
                PaperWidth = 8.27,
                PaperHeight = 11.69,
                MarginTop = 0,
                MarginLeft = 0,
                MarginRight = 0,
                MarginBottom = 0

            };

            // 将HTML网页转换为PDF
            converter.ConvertToPdf(inputUrl, outputFile, options);
        }
    }
}

如果你想要在转换过程中输出日志,可以调用ChromeHtmlConverter.Logger属性。

示例代码如下:

using Spire.Additions.Chrome;

namespace ConvertHtmlToPdfUsingChrome
{
    internal class Program
    {
        static void Main(string[] args)
        {
            //指定输入输出文档路径
            string inputUrl = @"https://www.e-iceblue.cn/about-us.html";
            string outputFile = @"HtmlToPDF.pdf";

            // 指定日志文件路径
            string logFilePath = @"Logs.txt";

            // 指定Chrome插件的路径
            string chromeLocation = @"C:\Program Files\Google\Chrome\Application\chrome.exe";

            // 创建ChromeHtmlConverter对象
            ChromeHtmlConverter converter = new ChromeHtmlConverter(chromeLocation);
            // 启用日志记录
            converter.Logger = new Logger(logFilePath);

            // 创建ConvertOptions对象
            ConvertOptions options = new ConvertOptions();
            // 设置转换超时
            options.Timeout = 10 * 3000;
            // 设置转换后PDF页面的纸张大小和页边距
            options.PageSettings = new PageSettings()
            {
                PaperWidth = 8.27,
                PaperHeight = 11.69,
                MarginTop = 0,
                MarginLeft = 0,
                MarginRight = 0,
                MarginBottom = 0

            };

            // 将HTML网页转换为PDF
            converter.ConvertToPdf(inputUrl, outputFile, options);
        }
    }
}

如果使用过程中遇到任何问题,可前往论坛交流。
https://www.e-iceblue.com/forum/forum-f16.html

相关文章:

  • 用TypeScript和library needle来创建视频爬虫程序
  • 编写Dockerfile制作Redis镜像,生成镜像名为redis:v1.1,并推送到私有仓库。
  • 从简单 Rocket 实现到 RESTful API:计算机网络中的 Web 通信解析
  • 前端小食堂 | Day14 - Vue 3 の传送门与悬念
  • 【科研绘图系列】python绘制分组点图(grouped dot plot)
  • 迁移Kubuntu到thinkbook14+ 2025
  • 第4节:分类任务
  • 【WRF模拟】如何查看 WPS 的输入静态地理数据(二进制格式)?
  • 香港公司建立公司网站和手机APP小程序等作为出口推广政统可补贴50%,最高补贴可100万
  • Sass (Scss) 与 Less 的区别与选择
  • 对称二叉树 二叉树的最大深度 二叉树的最小深度
  • Pygame实现射击鸭子游戏3-3
  • C#结构体(Struct)详解
  • Android UI性能优化
  • 游戏辅助技术培训班课程学习【B002-中级班】
  • 以下是基于文章核心命题打造的15个标题方案,根据传播场景分类推荐
  • golang从入门到做牛马:第二十一篇-Go语言错误处理:优雅的“故障排除”
  • Tomato靶机通关攻略
  • ngrok实现内网穿透,可从外网访问本地服务
  • Spring AOP 统一问题处理
  • 奥运“四朝元老”华天回国参赛,伤势未愈谨慎出战全国锦标赛
  • 外企聊营商|威能集团:公平环境增“暖”意
  • 经济日报评外卖平台被约谈:行业竞争不能背离服务本质
  • 鄂州交警通报致1死2伤车祸:女子操作不当引发,已被刑拘
  • 知名猎头公司创始人兼首席执行官庄华因突发疾病逝世,享年62岁
  • 广西北部湾国际港务集团副总经理潘料庭接受审查调查