.NET使用DinkToPdf将HTML转成PDF的示例代码

0.介绍

C# .NET Core wrapper for wkhtmltopdf library that uses Webkit engine to convert HTML pages to PDF.

最近浏览文章的时候发现DinkToPdf框架,可以利用HTML转换成PDF,与我早期使用ITextSharp 框架构建PDF的方式不太一样。DinkToPdf直接将HTML转成PDF,HTML的构造直观且简单。这种方式可能可以成为不错的选择!
下面为大家简单介绍DinkToPdf的使用方式。

1. 参考资料

Github https://github.com/rdvojmoc/DinkToPdf

2.核心内容

构造HtmlToPdfDocument对象Html文本形式

string html = @"<!DOCTYPE html>
<html>
<head>
<meta charset='utf-8'>
<title>W3Cschool</title>
</head>
<body>

<h4>Html文本</h4>

</body>
</html>

var doc = new HtmlToPdfDocument()
{
 GlobalSettings = {
  ColorMode = ColorMode.Color,
  Orientation = Orientation.Landscape,
  PaperSize = PaperKind.A4,
 },
 Objects = {
  new ObjectSettings() {
   PagesCount = true,
   HtmlContent = htmlContent,
   WebSettings = { DefaultEncoding = "utf-8" },
   HeaderSettings = { FontSize = 9, Right = "Page [ page ] of [ toPage ]", Line = true },
   FooterSettings = { FontSize = 9, Right = "Page [ page ] of [ toPage ]" }
  }
 }
};

URL方式

string url = ""https://www.baidu.com/";
var doc = new HtmlToPdfDocument()
{
 GlobalSettings = {
  PaperSize = PaperKind.A4Small
 },

 Objects = {
  new ObjectSettings()
  {
   Page = url,
  }
 }
};

HtmlToPdfDocument 转成 PDF

var converter = new BasicConverter(new PdfTools());

byte[] pdf = converter.Convert(doc);

生成PDF

if (!Directory.Exists("Files"))
{
 Directory.CreateDirectory("Files");
}

using (FileStream stream = new FileStream(@"Files\" + DateTime.UtcNow.Ticks.ToString() + ".pdf", FileMode.Create))
{
 stream.Write(pdf, 0, pdf.Length);
}

注意点

框架依赖于wkhtmltopdf,在自己部署的时候如果提示缺少dll,记得去官方Git上下载(样例源码已经复制了64位的dll)

https://github.com/rdvojmoc/DinkToPdf/tree/master/v0.12.4

3.效果图

展示Html文本形式w3c表格截图

pdf生成结果图

URL方式百度网址生成pdf效果图

4.样例源码地址

https://github.com/Impartsoft/Bins/tree/main/DinkToPdfDemo

到此这篇关于.NET使用DinkToPdf将HTML转成PDF的示例代码的文章就介绍到这了,更多相关.NET HTML转成PDF内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Python3转换html到pdf的不同解决方案

    问题:python3 如何转换html到pdf 描述: 我的电脑是windows764位,python3.4 我想用python 转换html到pdf. 我尝试了html2pdf,貌似它只支持Python2 我又尝试了wkhtmltox-0.12.2.2_msvc2013-win64和pdfkit,并用下面的例子测试. import pdfkit pdfkit.from_url('http://google.com', 'out.pdf') 报错信息 Traceback (most recent

  • JavaScript+Java实现HTML页面转为PDF文件保存的方法

    需求是一个导出pdf的功能,多方奔走终于实现了,走了不少弯路,而且怀疑现在这个方法仍是弯的. 有个jsPDF 插件可以在前端直接生成pdf,很简便,但不支持IE. 前端: 首先引入  html2canvas.js html2canvas(document.body, { //截图对象 //此处可配置详细参数 onrendered: function(canvas) { //渲染完成回调canvas canvas.id = "mycanvas"; // 生成base64图片数据 var

  • Python实现将HTML转成PDF的方法分析

    本文实例讲述了Python实现将HTML转成PDF的方法.分享给大家供大家参考,具体如下: 主要使用的是wkhtmltopdf的Python封装--pdfkit 安装 1. Install python-pdfkit: $ pip install pdfkit 2. Install wkhtmltopdf: Debian/Ubuntu: $ sudo apt-get install wkhtmltopdf Redhat/CentOS sudo yum intsall wkhtmltopdf Ma

  • Java实现Html转Pdf的方法

    本文实例讲述了Java实现Html转Pdf的方法.分享给大家供大家参考.具体如下: package test; import java.io.File; import java.io.FileOutputStream; import java.io.OutputStream; import org.xhtmlrenderer.pdf.ITextFontResolver; import org.xhtmlrenderer.pdf.ITextRenderer; import com.lowagie.

  • Python实现html转换为pdf报告(生成pdf报告)功能示例

    本文实例讲述了Python实现html转换为pdf报告(生成pdf报告)功能.分享给大家供大家参考,具体如下: 1.先说下html转换为pdf:其实支持直接生成,有三个函数pdfkit.f 安装python包:pip Install pdfkit 系统安装wkhtmltopdf:参考 https://github.com/JazzCore/python-pdfkit/wiki/Installing-wkhtmltopdf mac下的wkhtmltopdf: brew install Caskro

  • Javascript实现html转pdf高清版(提高分辨率)

    网上一些关于js实现html转pdf的文章大部分最终转成的PDF都不够清晰,今天为大家介绍如何提高js实现html转pdf的清晰度 引入js文件 https://cdn.bootcss.com/jquery/3.4.1/jquery.js https://cdn.bootcss.com/jspdf/1.5.3/jspdf.min.js https://cdn.bootcss.com/html2canvas/0.5.0-alpha2/html2canvas.min.js 注意事项: 1.生成的pd

  • 纯js实现html转pdf的简单实例(推荐)

    项目开发中遇到了一个变态需求,需要把一整个页面导出为pdf格式,而且要保留页面上的所有的表格.svg图片和样式. 简而言之,就是希望像截图一样,把整个页面截下来,然后保存成pdf. 咋不上天呢-- 查了一下,能够实现html转pdf的方法还是挺多的,大概有以下几种: 1.大部分浏览器就有这个功能.然而我们客户要的可不是这个,人家要的是能够在系统中主动触发的导出为pdf功能,所以这种方案pass. 2.利用第三方工具.我找到了一种利用wkhtmltopdf这种工具来导出的方案,自己在我们的项目中试

  • wkhtmltopdf 最好用Html转pdf的工具

    实习时公司需要把一些html页面中的部分内容生成pdf文件,然后我就找一些用php把html页面围成pdf文件的类.方法是可谓是找了很多很多,什么html2pdf,pdflib,FPDF这些都试过了,但是都没有达到我要的求(主要是不能解决中文乱码的问题以及样式排版的问题). pdflib,FPDF 这两个方法是需要编写程序去生成pdf的,就也是讲不支持直接把html页面转换成pdf:html2pdf这个虽然可以把html页面转换成pdf文 件,但是它只能转换一般简单的html代码,如果你的htm

  • .NET使用DinkToPdf将HTML转成PDF的示例代码

    0.介绍 C# .NET Core wrapper for wkhtmltopdf library that uses Webkit engine to convert HTML pages to PDF. 最近浏览文章的时候发现DinkToPdf框架,可以利用HTML转换成PDF,与我早期使用ITextSharp 框架构建PDF的方式不太一样.DinkToPdf直接将HTML转成PDF,HTML的构造直观且简单.这种方式可能可以成为不错的选择! 下面为大家简单介绍DinkToPdf的使用方式.

  • 拿来就用!Python批量合并PDF的示例代码

    大家好,今天分享一个实用的办公脚本:将多个PDF合并为一个PDF,例如我手上现在有如下3个PDF分册,需要整合成一个完整的PDF 如果换成你操作的话,是不是打开百度搜索:PDF合并,然后去第三方网站操作,可能会收费不说还担心文件泄漏,现在有请Python出场,简单快速,光速合并,拿走就用! 首先导入需要的库和路径设置 import os from PyPDF2 import PdfFileReader, PdfFileWriter if __name__ == '__main__': # 设置存

  • JAVA实现DOC转PDF的示例代码

    目录 一.下载依赖 二.代码实现 三.转换结果 四.后续研究 五.总结 Word作为目前主流的文本编辑软件之一,功能十分强大,应用人群广,但是它也存在一些问题.像是Word文件在不同软件或操作平台之间传输的时候,时不时会出现各种格式的"变化",也会有点"不稳定",例如内容和格式经常容易篡动. 相较于Word,pdf格式文件显然优秀不少.虽然在内容编辑和修改方面表现不佳,但pdf格式文件在不同平台和软件上的稳定性表现着实出色.日常办公中,越来越多的会选择将编辑好的Wo

  • Java实现合并多个PDF的示例代码

    这里合并用到了一个itext的包.使用maven直接导入依赖即可. <dependency> <groupId>com.lowagie</groupId> <artifactId>itext</artifactId> <version>2.1.7</version> </dependency> 这个是我写的一个utl工具类,里面还写了一个main方法,如果你有两个pdf,可以直接用main方法跑一下. impo

  • Java实现将彩色PDF转为灰度PDF的示例代码

    目录 配置程序环境 转彩色PDF为灰度 实现代码(Java) 补充 本文以Java代码为例介绍如何实现将彩色PDF文件转为灰度(黑白)的PDF文件,即:将PDF文档里面的彩色图片或者文字等通过调用PdfGrayConverter.toGrayPdf()方法转为文档页面为灰色调.无彩色效果的文档,可实现缩小文档大小的目的.下面是程序运行环境及代码示例. 配置程序环境 IntelliJ IDEA Spire.PDF for Java 5.3.1 PDF文档 关于如何引入jar文件: 1.通过Mave

  • Java实现无损Word转PDF的示例代码

    目录 前言 word转pdf实现思路 项目远程仓库 Maven项目pom文件依赖 核心代码实现 结果分析 前言 本来想写word转pdf和pdf转word的代码呢,没想到word转pdf就写了很多很多行代码才实现,为了方便大家消化理解,先写了word转pdf方法实现作为一篇文章. word转pdf实现思路 代码实现主要依赖两个第三方jar包,一个是pdfbox,一个是aspose-words.pdfbox包完全开源免费,aspose-words免费版生成有水印,且生成数量有限制.单纯用pdfbo

  • python将html转成PDF的实现代码(包含中文)

    前提: 安装xhtml2pdf https://pypi.python.org/pypi/xhtml2pdf/下载字体:微软雅黑:给个地址:http://www.jb51.net/fonts/8481.html 待转换的文件:1.htm 复制代码 代码如下: <meta charset="utf8"/><style type='text/css'>@font-face {         font-family: "code2000";   

  • Python切割图片成九宫格的示例代码

    这篇文字讲述如何使用Python把一张完整的大图切割成9份小图片,制作朋友圈九宫格图文分享. 原图如下: 我们想要利用这张图制作高逼格的九宫格朋友圈分享. 达到类似于这样的效果: 实现原理非常简单,那就是利用PIL库对原图不断画小区域然后切下来存储成新的小图片. 假设每一个格子的宽和高分别是w.h,那么第row行(从0开始计数),第col列(从0开始计数)的格子左上角坐标和右下角坐标分别是(col * w, row * h),(col * w + w, r * h + h). code snip

  • C#将PPT文件转换成PDF文件

    这里在提供C#代码,将PPT转成PDF.直接上代码: 要引入Microsoft.Office.Interop.PowerPoint; 版本12.0.0.0: using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Runtime.InteropServices; using Microsoft.Office.Interop

  • Java使用jacob将微软office中word、excel、ppt转成pdf

    本文实例为大家分享了Java使用jacob将微软office文档转成pdf的具体代码,供大家参考,具体内容如下 在使用jacb前,我们需要去下载 jacob.jar 和 jacob-1.18-x64.dll 其次,我们需要将jacob-1.18-x64.dll放入到jdk的bin目录下才可以使用 第三,使用jacb之前,我们需要确保office能正常使用 如果你现在使用的是maven工程,那么不好意思,现在还没有发布正式的jacb资源文件,我们需要自定的maven依赖,如下: <dependen

随机推荐