搜索

查看: 3107|回复: 11

[ASP.NET] .net core利用PdfSharpCore操作PDF实例教程

[复制链接]
发表于 2023-5-4 11:26:31 | 显示全部楼层 |阅读模式
Editor 2023-5-4 11:26:31 3107 11 看全部
目录
  • 前序
  • 1.设置PDF拥有者的密码,让PDF防篡改。
  • 2.PDF添加页眉和页脚
  • (2)添加页眉
  • (3)添加页脚
  • 3.PDF添加水印文字
  • 4.PDF 添加图片
  • 总结
    前序
    使用PdfSharpCore请注意使用XGraphics基类,与System.Drawing 的Graphics类似,XGraphics 提供XColor(颜色)、XPen(画笔)、XBrush(画刷)、XFont(字体)、XPoint(位置)等对象。提供很多画线,矩形,圆,扇形,多边形,图,文本等方法。源码请查看https://github.com/ststeiger/PdfSharpCore/blob/master/PdfSharpCore/Drawing/XGraphics.cs

    1.设置PDF拥有者的密码,让PDF防篡改。
    代码很简单设置PdfDocument.SecuritySettings.OwnerPassword
                PdfDocument doc = PdfReader.Open(@"a.pdf", PdfDocumentOpenMode.Modify);
                doc.SecuritySettings.OwnerPassword = "123";
                var filePath = $"b.pdf";
                doc.Save(filePath);

    202212270802551.png

    202212270802551.png


    2.PDF添加页眉和页脚
    (1)添加页码显示
    XStringFormats 指定文本的位置:详请查看https://github.com/ststeiger/PdfSharpCore/blob/master/PdfSharpCore/Drawing/XStringFormats.cs
    XFont font = new XFont("SimHei", 8);
                XBrush brush = XBrushes.Black;
                PdfDocument doc = PdfReader.Open(@"a.pdf", PdfDocumentOpenMode.Modify);
                for (int i = 0; i

    202212270802562.png

    202212270802562.png


    (2)添加页眉
    XFont font = new XFont("SimHei", 8);
                XBrush brush = new XSolidBrush(XColor.FromArgb(128, 255, 0, 0));
                XPoint point = new XPoint(90, 20);
                PdfDocument doc = PdfReader.Open(@"a.pdf", PdfDocumentOpenMode.Modify);
                for (int i = 0; i

    202212270802563.png

    202212270802563.png


    (3)添加页脚
    XFont font = new XFont("SimHei", 8);
                XBrush brush = new XSolidBrush(XColor.FromArgb(128, 255, 0, 0));
                PdfDocument doc = PdfReader.Open(@"a.pdf", PdfDocumentOpenMode.Modify);
                for (int i = 0; i

    202212270802564.png

    202212270802564.png


    3.PDF添加水印文字
    XFont font = new XFont("SimHei", 8);
                XBrush brush =new XSolidBrush(XColor.FromArgb(128, 255, 0, 0));
                PdfDocument doc = PdfReader.Open(@"a.pdf", PdfDocumentOpenMode.Modify);
                for (int i = 0; i

    202212270802565.png

    202212270802565.png


    4.PDF 添加图片
    //第一步先加载PDF文件
                PdfDocument doc = PdfReader.Open(@"a.pdf", PdfDocumentOpenMode.Modify);
                //导入图片(地址,文件流)
                var background = XImage.FromFile(@"QRCode.png");
                // var background = XImage.FromStream(()=> stream);
                //指定PDF 的页
                PdfPage page = doc.Pages[0];
                var gfx = XGraphics.FromPdfPage(page, XPageDirection.Downwards);
                //写入指定位置
                gfx.DrawImage(background, 20, 20, 250, 140);
                doc.Save("b.pdf");
    docker 模式,需要在 dockerfile 中添加如下配置
    RUN apt-get update && apt-get -y install libfontconfig1

    如需要指定字体,请将字段文件进行拷贝(比如雅黑)
    COPY /xx/xxx/SIMHEI.TTF /usr/share/fonts/SIMHEI.TTF

    总结
    到此这篇关于.net core利用PdfSharpCore操作PDF实例的文章就介绍到这了,更多相关.net core用PdfSharpCore操作PDF内容请搜索知鸟论坛以前的文章或继续浏览下面的相关文章希望大家以后多多支持知鸟论坛
  • 回复

    使用道具 举报

    发表于 2023-6-28 18:35:24 | 显示全部楼层
    墙和鸡蛋 2023-6-28 18:35:24 看全部
    这东西我收了!谢谢楼主!知鸟论坛真好!
    回复

    使用道具 举报

    发表于 2023-6-29 21:15:25 | 显示全部楼层
    六翼天使494 2023-6-29 21:15:25 看全部
    这个帖子不回对不起自己!我想我是一天也不能离开知鸟论坛
    回复

    使用道具 举报

    发表于 2023-6-30 01:57:25 | 显示全部楼层
    麻辣鸡翅 2023-6-30 01:57:25 看全部
    既然你诚信诚意的推荐了,那我就勉为其难的看看吧!知鸟论坛不走平凡路。
    回复

    使用道具 举报

    发表于 2023-6-30 12:22:29 | 显示全部楼层
    丁侦球 2023-6-30 12:22:29 看全部
    楼主发贴辛苦了,谢谢楼主分享!我觉得知鸟论坛是注册对了!
    回复

    使用道具 举报

    发表于 2023-7-3 15:37:59 | 显示全部楼层
    冀苍鸾 2023-7-3 15:37:59 看全部
    论坛不能没有像楼主这样的人才啊!我会一直支持知鸟论坛
    回复

    使用道具 举报

    发表于 2023-7-3 17:25:06 | 显示全部楼层
    心随674 2023-7-3 17:25:06 看全部
    我看不错噢 谢谢楼主!知鸟论坛越来越好!
    回复

    使用道具 举报

    发表于 2023-7-3 19:32:07 | 显示全部楼层
    462710480 2023-7-3 19:32:07 看全部
    感谢楼主的无私分享!要想知鸟论坛好 就靠你我他
    回复

    使用道具 举报

    发表于 2023-7-4 12:04:03 | 显示全部楼层
    123456833 2023-7-4 12:04:03 看全部
    既然你诚信诚意的推荐了,那我就勉为其难的看看吧!知鸟论坛不走平凡路。
    回复

    使用道具 举报

    发表于 2023-7-4 19:06:55 | 显示全部楼层
    Gordon520 2023-7-4 19:06:55 看全部
    论坛不能没有像楼主这样的人才啊!我会一直支持知鸟论坛
    回复

    使用道具 举报

    • 您可能感兴趣
    点击右侧快捷回复 【请勿灌水】
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则 返回列表

    RSS订阅| SiteMap| 小黑屋| 知鸟论坛
    联系邮箱E-mail:zniao@foxmail.com
    快速回复 返回顶部 返回列表