.netcore 使用PdfSharpCore生成pdf

news/2024/10/20 15:01:20

想实现的功能是pdf+签名图片合并起来,后面看到了免费开源的PdfSharpCore. 

先安装

 

    public static class PdfSharpCoreHelper{private static string GetOutFilePath(string name){string OutputDirName = @".";return System.IO.Path.Combine(OutputDirName, name);}/// <summary>/// 保存文件/// </summary>/// <param name="document">PdfDocument</param>/// <param name="name">文件名</param>private static void SaveDocument(PdfSharpCore.Pdf.PdfDocument document, string name){string outFilePath = GetOutFilePath(name);string? dir = System.IO.Path.GetDirectoryName(outFilePath);if (dir != null && !System.IO.Directory.Exists(dir)){System.IO.Directory.CreateDirectory(dir);}document.Save(outFilePath);}/// <summary>/// 将图片 文字添加到PDF文档中/// </summary>public static void ConvertSVGtoPDF(){System.Console.WriteLine("Starting...");//获取pdf文件PdfDocument document = PdfReader.Open(@"F:\svn项目\ConvertSVGtoPDF.pdf", PdfDocumentOpenMode.Modify);//获取第一页pdfPdfSharpCore.Pdf.PdfPage? pageNewRenderer = document.Pages[0];PdfSharpCore.Drawing.XGraphics? renderer = PdfSharpCore.Drawing.XGraphics.FromPdfPage(pageNewRenderer);//添加图片renderer.DrawImage(XImage.FromFile(@"F:\svn项目\svgdq.jpg"),new PdfSharpCore.Drawing.XPoint(120, 120));//添加文字renderer.DrawString("Testy Test Test", new PdfSharpCore.Drawing.XFont("Arial", 12), PdfSharpCore.Drawing.XBrushes.Black, new PdfSharpCore.Drawing.XPoint(12, 12));//保存SaveDocument(document, "dsada.pdf");}}

  

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/73823.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

PbootCms后台登陆不显示验证码

扫码添加技术【解决问题】专注中小企业网站建设、网站安全12年。熟悉各种CMS,精通PHP+MYSQL、HTML5、CSS3、Javascript等。承接:企业仿站、网站修改、网站改版、BUG修复、问题处理、二次开发、PSD转HTML、网站被黑、网站漏洞修复等。专业解决各种疑难杂症,您有任何网站问题都…

pbootcms 您访问的页面不存在,请核对后重试

确认程序上传完整性确保所有文件和文件夹都已正确上传到服务器。 检查是否有遗漏的文件或文件夹,特别是配置文件和核心文件。配置伪静态规则PBootCMS的根目录中包含一个rewrite文件夹,其中包含了多种服务器环境下的伪静态规则文件。 根据您的服务器类型(如Apache、Nginx等)…

PbootCMS未匹配到本域名有效授权码

当您遇到“未匹配到本域名有效授权码”的错误提示时,可以按照以下步骤来解决问题:第一步:访问PbootCMS官网的授权码获取页面:第二步:在页面上输入您的域名和验证码,点击“获取授权码”按钮。第三步:成功获取授权码后,将其复制。第四步:登录到您的PbootCMS系统后台:导…

pbootcms调取友情连接列表代码

适用范围全站任意地方均可使用标签作用用于依次输出指定分组的友情链接模板代码{pboot:link gid=* num=*} <a href="[link:link]" title="[link:name]"><img src="[link:logo]"></a> {/pboot:link}控制参数gid=*:分组,必填…

pbootcms修改“未查询到任何数据”的方法

定位文件打开 /core/view/Paging.php 文件。查找方法在该文件中找到 private function pageBar() 方法,大约在第 263 行左右。修改文本在 pageBar() 方法中找到包含“未查询到任何数据”字样的代码行。 直接将“未查询到任何数据”修改为您想要显示的文本。保存文件保存对文件…

USB协议详解第18讲(USB包-初探)

1.USB传输架构和包的组成 本节我们开始对USB包进行深入讲解,USB所有的传输都会被分成包进行传输,不同类型的包里面包含着不同的域(后面一一学习)。传输架构和包的组成如下图。 每个包都由SOP(包起始域)、SYNC(同步域)、Packet Content(包内容)、EOP(包结束域)四部分…

USB协议详解第16讲(USB传输-中断传输及事务组成)

1.前言 中断传输用于那些频率不高,但是对周期有一定要求的数据传输。具有保证的带宽,并能在下一个周期对先前错误的传输进行重传。中断端点在端点描述符中要报告主机对此端点的查询时间,主机会保证在小于这个时间间隔的范围内安排一次传输,比如HOST主机1ms内向鼠标设备请求…

屏幕“布局”运行错误之CALLBACK REJECTED BY WHITELIST

点击屏幕中布局按钮报错 ST22图形屏幕绘制器中的运行时错误SAP的NOTE说明SM59维护TCP/IP链接,编辑回调准许列表,粘贴后保存即可TRANSLATE with xEnglishArabic Hebrew PolishBulgarian Hindi PortugueseCatalan Hmong Daw RomanianChinese Simplified Hungarian RussianChin…