午夜剧场伦理_日本一道高清_国产又黄又硬_91黄色网战_女同久久另类69精品国产_妹妹的朋友在线

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

.net core利用PdfSharpCore操作PDF實(shí)例教程

瀏覽:396日期:2022-06-09 08:54:21
目錄
  • 前序
  • 1.設(shè)置PDF擁有者的密碼,讓PDF防篡改。
  • 2.PDF添加頁(yè)眉和頁(yè)腳
    • (2)添加頁(yè)眉
    • (3)添加頁(yè)腳
  • 3.PDF添加水印文字
    • 4.PDF 添加圖片
      • 總結(jié)

        前序

        使用PdfSharpCore請(qǐng)注意使用XGraphics基類,與System.Drawing 的Graphics類似,XGraphics 提供XColor(顏色)、XPen(畫(huà)筆)、XBrush(畫(huà)刷)、XFont(字體)、XPoint(位置)等對(duì)象。提供很多畫(huà)線,矩形,圓,扇形,多邊形,圖,文本等方法。源碼請(qǐng)查看https://github.com/ststeiger/PdfSharpCore/blob/master/PdfSharpCore/Drawing/XGraphics.cs

        1.設(shè)置PDF擁有者的密碼,讓PDF防篡改。

        代碼很簡(jiǎn)單設(shè)置PdfDocument.SecuritySettings.OwnerPassword

            PdfDocument doc = PdfReader.Open(@"a.pdf", PdfDocumentOpenMode.Modify);    doc.SecuritySettings.OwnerPassword = "123";    var filePath = $"b.pdf";    doc.Save(filePath);

        2.PDF添加頁(yè)眉和頁(yè)腳

        (1)添加頁(yè)碼顯示

        XStringFormats 指定文本的位置:詳請(qǐng)查看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()}頁(yè)/共{doc.Pages.Count}頁(yè)",font,brush,layoutRectangle,XStringFormats.BottomLeft);}    }

        (2)添加頁(yè)眉

        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)添加頁(yè)腳

        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公司版權(quán)所有",       font,       brush,       new XPoint(500, 500),stringFormat);    }    doc.Save("b.pdf");

        4.PDF 添加圖片

        //第一步先加載PDF文件    PdfDocument doc = PdfReader.Open(@"a.pdf", PdfDocumentOpenMode.Modify);    //導(dǎo)入圖片(地址,文件流)    var background = XImage.FromFile(@"QRCode.png");    // var background = XImage.FromStream(()=> stream);    //指定PDF 的頁(yè)    PdfPage page = doc.Pages[0];    var gfx = XGraphics.FromPdfPage(page, XPageDirection.Downwards);    //寫(xiě)入指定位置    gfx.DrawImage(background, 20, 20, 250, 140);    doc.Save("b.pdf");

        docker 模式,需要在 dockerfile 中添加如下配置

        RUN apt-get update && apt-get -y install libfontconfig1

        如需要指定字體,請(qǐng)將字段文件進(jìn)行拷貝(比如雅黑)

        COPY /xx/xxx/SIMHEI.TTF /usr/share/fonts/SIMHEI.TTF

        總結(jié)

        到此這篇關(guān)于.net core利用PdfSharpCore操作PDF實(shí)例的文章就介紹到這了,更多相關(guān).net core用PdfSharpCore操作PDF內(nèi)容請(qǐng)搜索以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持!

        標(biāo)簽: ASP.NET
        主站蜘蛛池模板: 日韩在线影视 | 成人小视频在线 | 久久视频精品在线观看 | 欧美成人精品一区二区三区 | 五月天精品视频 | 亚洲天堂男人 | 永久福利视频 | 粉嫩av绯色av蜜乳av | 久久精品7| 成人激情视频 | 五月婷婷激情综合网 | 欲妇荡岳丰满少妇岳91白洁 | 长泽梓av| 日韩高清国产一区在线 | 国语对白永久免费 | 亚洲一级黄色片 | 国产精品超碰 | 日韩精品在线一区 | 成人在线观看网址 | 亚洲国产日韩欧美 | 日本色中色 | 婷五月天| 精品久久在线 | 国产欧美一区二区精品性色 | 日韩久久久久久久 | 日本欧美一区二区 | 黄色在线小视频 | 美日韩三级 | 国产免费xxx | 国产小视频在线看 | h在线观看视频 | 国产亚洲精品久久久久久 | 青青草影视 | 伊人网在线视频观看 | 亚洲欧美日韩中文字幕在线观看 | 一级黄色免费 | 精品国产第一页 | 中文字幕综合在线 | 香蕉视频在线看 | 懂色av成人一区二区三区 | 精品一区二区在线播放 |