栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C# > C#教程

C#生成PDF的方法

C#教程 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C#生成PDF的方法

之前项目中是通过wkhtmltopdf渲染web页面生成的pdf文件,这个方案一直不是很稳定,并且在不同的场景样式也常不一样,老需要调整。 今天研究了一下C#直接生成PDF的方案,还是比较简单的,整体方案如下:

  1. 通过WPF库生成XPS文件
  2. 通过PdfSharp将XPS文件转成PDF文件

首先看一下生成xps文件的代码。,代码如下: 

var fixedDoc = new Fixeddocument();
var pageContent = new PageContent();
var fixedPage = new FixedPage();

fixedPage.Children.Add(canvas);
((IAddChild)pageContent).AddChild(fixedPage);
fixedDoc.Pages.Add(pageContent);

using var xpsd = new Xpsdocument(@"r:3.xps", FileAccess.ReadWrite);
var xw = Xpsdocument.CreateXpsdocumentWriter(xpsd);

xw.Write(fixedDoc);
xpsd.Close();

由于可以将WPF中的Visual转换成Xps文件。得益WPF强大的展示能力,即使渲染复杂的XPS文件也是非常容易的。

有了XPS文件后,下一步就是将其转换为pdf了,这里用的是免费的PdfSharp包,由于我用的是.net 5,引入的是PdfSharp.Xps.dotNet.Core,代码比较简单,一行代码可以搞定。

PdfSharp.Xps.XpsConverter.Convert(@"r:3.xps", @"r:3.pdf", 0);

这个生成PDF的方案借助了WPF平台的类库,简单好用,并且可以实现可视化。缺点是不能再Linux上跑。如果要在Linux平台上实现PDF生成的话,直接使用PdfSharp也是可以的,具体可以参考这篇文章:PDF Generation and Printing in .NET

以上就是C#生成PDF的方法的详细内容,更多关于C#生成PDF的资料请关注考高分网其它相关文章!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/121595.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号