电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

.net core利用PdfSharpCore操作PDF實例教程

瀏覽:262日期:2022-06-09 08:54:21
目錄
  • 前序
  • 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);

        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 < doc.Pages.Count; i++)    {PdfPage page = doc.Pages[i];XRect layoutRectangle = new XRect(0, page.Height - font.Height, page.Width, font.Height);using (XGraphics gfx = XGraphics.FromPdfPage(page)){    gfx.DrawString($"第{(i + 1).ToString()}頁/共{doc.Pages.Count}頁",font,brush,layoutRectangle,XStringFormats.BottomLeft);}    }

        (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 < doc.Pages.Count; i++)    {var renderer = XGraphics.FromPdfPage(doc.Pages[i]);XSize pageSize = renderer.PageSize;renderer.DrawString("xxx有限公司", font, brush, point);XPen pen = new XPen(XBrushes.Gray, 0.5f);renderer.DrawLine(pen, point.X, point.Y, pageSize.Width - point.X, point.Y);    }    doc.Save("b.pdf");

        (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 < doc.Pages.Count; i++)    {var renderer = XGraphics.FromPdfPage(doc.Pages[i]);XSize pageSize = renderer.PageSize;XPoint point = new XPoint(90, pageSize.Height-20);renderer.DrawString("xxx有限公司", font, brush, point);XPen pen = new XPen(XBrushes.Gray, 0.5f);renderer.DrawLine(pen, point.X, point.Y-10, pageSize.Width - point.X, point.Y-10);    }    doc.Save("b.pdf");

        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 < doc.Pages.Count; i++)    {XStringFormat stringFormat = new XStringFormat();stringFormat.Alignment = XStringAlignment.Center;stringFormat.LineAlignment = XLineAlignment.Center;PdfPage page = doc.Pages[i];var gfx = XGraphics.FromPdfPage(page, XPageDirection.Downwards);gfx.DrawString(       $"xxx公司版權所有",       font,       brush,       new XPoint(500, 500),stringFormat);    }    doc.Save("b.pdf");

        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內容請搜索以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持!

        標簽: ASP.NET
        主站蜘蛛池模板: 钢格栅板_钢格板网_格栅板-做专业的热镀锌钢格栅板厂家-安平县迎瑞丝网制造有限公司 | 硫化罐-电加热蒸汽硫化罐生产厂家-山东鑫泰鑫智能装备有限公司 | 一路商机网-品牌招商加盟优选平台-加盟店排行榜平台 | 欧美日韩国产一区二区三区不_久久久久国产精品无码不卡_亚洲欧洲美洲无码精品AV_精品一区美女视频_日韩黄色性爱一级视频_日本五十路人妻斩_国产99视频免费精品是看4_亚洲中文字幕无码一二三四区_国产小萍萍挤奶喷奶水_亚洲另类精品无码在线一区 | 工控机-图像采集卡-PoE网卡-人工智能-工业主板-深圳朗锐智科 | 压接机|高精度压接机|手动压接机|昆明可耐特科技有限公司[官网] 胶泥瓷砖胶,轻质粉刷石膏,嵌缝石膏厂家,腻子粉批发,永康家德兴,永康市家德兴建材厂 | 慢回弹测试仪-落球回弹测试仪-北京冠测精电仪器设备有限公司 | 碳纤维布-植筋胶-灌缝胶-固特嘉加固材料公司 | 搪瓷反应釜厂家,淄博搪瓷反应釜-淄博卓耀 | 爱佩恒温恒湿测试箱|高低温实验箱|高低温冲击试验箱|冷热冲击试验箱-您身边的模拟环境试验设备技术专家-合作热线:400-6727-800-广东爱佩试验设备有限公司 | 悬浮拼装地板_幼儿园_篮球场_悬浮拼接地板-山东悬浮拼装地板厂家 | 编织人生 - 权威手工编织网站,编织爱好者学习毛衣编织的门户网站,织毛衣就上编织人生网-编织人生 | 金蝶帐无忧|云代账软件|智能财税软件|会计代账公司专用软件 | 超声波焊接机_超音波熔接机_超声波塑焊机十大品牌_塑料超声波焊接设备厂家 | 大立教育官网-一级建造师培训-二级建造师培训-造价工程师-安全工程师-监理工程师考试培训 | 电动葫芦|环链电动葫芦-北京凌鹰名优起重葫芦 | 连栋温室大棚建造厂家-智能玻璃温室-薄膜温室_青州市亿诚农业科技 | 不锈钢闸阀_球阀_蝶阀_止回阀_调节阀_截止阀-可拉伐阀门(上海)有限公司 | 除甲醛公司-甲醛检测治理-杭州创绿家环保科技有限公司-室内空气净化十大品牌 | 365文案网_全网创意文案句子素材站| 五轴加工中心_数控加工中心_铝型材加工中心-罗威斯 | 订做不锈钢_不锈钢定做加工厂_不锈钢非标定制-重庆侨峰金属加工厂 | 蒸压釜_蒸养釜_蒸压釜厂家-山东鑫泰鑫智能装备有限公司 | 南京兰江泵业有限公司-水解酸化池潜水搅拌机-絮凝反应池搅拌机-好氧区潜水推进器 | 深圳湾1号房价_深圳湾1号二手房源| 神马影院-实时更新秒播| 浴室柜-浴室镜厂家-YINAISI · 意大利设计师品牌 | 咿耐斯 |-浙江台州市丰源卫浴有限公司 | 中国产业发展研究网 - 提供行业研究报告 可行性研究报告 投资咨询 市场调研服务 | 室内室外厚型|超薄型|非膨胀型钢结构防火涂料_隧道专用防火涂料厂家|电话|价格|批发|施工 | 玻璃瓶厂家_酱菜瓶厂家_饮料瓶厂家_酒瓶厂家_玻璃杯厂家_徐州东明玻璃制品有限公司 | 旅游规划_旅游策划_乡村旅游规划_景区规划设计_旅游规划设计公司-北京绿道联合旅游规划设计有限公司 | 山东限矩型液力偶合器_液力耦合器易熔塞厂家-淄博市汇川源机械厂 | LCD3D打印机|教育|桌面|光固化|FDM3D打印机|3D打印设备-广州造维科技有限公司 | 自进式锚杆-自钻式中空注浆锚杆-洛阳恒诺锚固锚杆生产厂家 | 成都软件开发_OA|ERP|CRM|管理系统定制开发_成都码邻蜀科技 | 骨龄仪_骨龄检测仪_儿童骨龄测试仪_品牌生产厂家【品源医疗】 | Maneurop/美优乐压缩机,活塞压缩机,型号规格,技术参数,尺寸图片,价格经销商 | 石膏基自流平砂浆厂家-高强石膏基保温隔声自流平-轻质抹灰石膏粉砂浆批发-永康市汇利建设有限公司 | 安平县鑫川金属丝网制品有限公司,防风抑尘网,单峰防风抑尘,不锈钢防风抑尘网,铝板防风抑尘网,镀铝锌防风抑尘网 | 【MBA备考网】-2024年工商管理硕士MBA院校/报考条件/培训/考试科目/提前面试/考试/学费-MBA备考网 | 超声波乳化机-超声波分散机|仪-超声波萃取仪-超声波均质机-精浩机械|首页 |