珠宝网站设计,济南手机网站建设,中铁建设集团登录系统,漳州网站建设网站运营PdfSharpCore支持类似GDI方式在PDF页面绘制文字、矩形、圆形、多边形、路径、图片等内容#xff0c;本文学习基于PdfSharpCore将结构化印章数据导出为PDF文件的基本用法#xff0c;评估其使用可行性。 PdfSharpCore创建PDF文件很方便#xff0c;调用PdfDocument类创建实… PdfSharpCore支持类似GDI方式在PDF页面绘制文字、矩形、圆形、多边形、路径、图片等内容本文学习基于PdfSharpCore将结构化印章数据导出为PDF文件的基本用法评估其使用可行性。 PdfSharpCore创建PDF文件很方便调用PdfDocument类创建实例对象并调用AddPage添加页面即可参考文献3。从使用示例来看页面尺寸可以通过Size属性设置常用页面尺寸也可以直接设置Width和Height属性自定义尺寸单位为点Size属性值为Undefined。 PdfDocument document new PdfDocument();PdfPage page document.AddPage();page.Size PageSize.A6;PdfSharpCore的DrawImage支持向页面绘制图片比较简单的导出PDF文件的方式是创建空白PDF页面然后将结构化印章数据先导出为图片再将图片绘制到PDF页面本文不具体展开这种方式。 另一种方式是改造基于SkiaSharp的绘图函数将其中的各类绘制边框及填充形状的函数改造成适合PdfSharpCore的调用方式。从改造过程来看PdfSharpCore类似于GDI的数据类型、绘图函数和SkiaSharp的绘制方式有一定区别主要包括 1SkiaSharp通过SKPaint的Style属性Fill、Stroke、StrokeAndFill设置绘制边框及填充形状而PdfSharpCore的绘图函数通过调用XPen和XBrush参数区分调用XPen参数为绘制边框调用XBrush为填充形状两者同时调用则同时绘制边框及填充形状; 2SkiaSharp绘制圆形调用DrawCircle绘制参数包括圆心坐标及半径绘制椭圆调用DrawOval绘制参数为圆心坐标及长短边半径而PdfSharpCore使用DrawEllipse函数绘制圆形或椭圆绘制参数为包括圆形或椭圆的外协矩形; 3SkiaSharp提供了沿路径绘制文本的便捷函数DrawTextOnPath但目前暂未在PdfSharpCore中找到类似函数; 4SkiaSharp的默认单位为像素而PdfSharpCore的单位默认为点 5SkiaSharp通过SKPaint.Typeface属性设置文本字体中英文都支持而PdfSharpCore中使用XFont设置字体但暂时没有找到设置中文字体的方式设置为中文字体时显示为方框只能绘制英文文本。 最后是测试程序效果除了沿路径绘制文本之外其它图形或文字的效果如下图所示在SkiaSharp控件中显示的效果和使用PdfSharpCore模块导出为PDF文件的效果差不多文字的对齐效果还没有搞清楚文字对齐有点不一样。 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/fbc3a406f6d34f7e9ffa9b39fa2a0fa9.png 参考文献 [1]https://blog.csdn.net/gc_2299/article/details/80501805 [2]https://www.cnblogs.com/haogj/p/15975918.html [3]https://docs.pdfsharp.net/PDFsharp/Topics/Start/About.html