zoukankan      html  css  js  c++  java
  • C#项目完成PDF文件增加印章操作可指定印章位置

    1、引用Spire第三方插件Spire.License、Spire.Pdf,有免费版和收费版选适合自己的;

    2、Spire官网有demo,研究下改改上,代码:

         根据网上搜集的列子整理的示例

            /// <summary>
            /// 添加图片印章
            /// </summary>
            /// <param name="pdfPath">PDF文件路径</param>
            /// <param name="imgUrl">印章图片路径</param>
            /// <param name="x">印章位置X</param>
            /// <param name="y">印章位置Y</param>
            /// <param name="fwidth">印章位置X</param>
            /// <param name="fheight">印章位置X</param>
            private void AddImage(string pdfPath, string imgUrl, float x, float y,float fwidth, float fheight)
            {
                //新建PDF文档,添加一页
                PdfDocument doc = new PdfDocument();
                doc.LoadFromFile(pdfPath);
    
                //默认操作第一页
                PdfPageBase page = doc.Pages[0];
    
                Image image = Image.FromFile(imgUrl);
    
                //加载缩放后的图片到PdfImage对象
                PdfImage pdfImage = PdfImage.FromImage(image);
    
                //int width = image.Width;
                //int height = image.Height;
                //图片的宽度
                //float fwidth = 300.0f;
                ////图片的高度
                //float fheight = 300.0f;
    
                //在指定位置绘入图片
                page.Canvas.DrawImage(pdfImage, x,y, fwidth, fheight);
    
                //保存文档
                string newpath = DateTime.Now.ToString("yyyyMMdd_HHmmssffff") + ".pdf";
                doc.SaveToFile(newpath);
    
            }

    示例2:网上搜集 其中在插图PNG有透明背景的照片时,显示不正常。

        原作者地址:https://www.cnblogs.com/lijl/p/11865467.html

         /// <summary>
            /// 添加图片印章
            /// </summary>
            /// <param name="pdfPath">PDF文件路径</param>
            /// <param name="imgUrl">印章图片路径</param>
            /// <param name="x">印章位置X</param>
            /// <param name="y">印章位置Y</param>
            private void AddImage(string pdfPath, string imgUrl, float x, float y)
            {
                //新建PDF文档,添加一页
                PdfDocument doc = new PdfDocument();
                doc.LoadFromFile(pdfPath);
                //pdf文件页数
                int pdfCount = doc.Pages.Count;
                //默认操作第一页
                PdfPageBase page = doc.Pages[0];
                //获取页面宽
                float pageWidth = page.ActualSize.Width;
                //获取页面高
                float pageHeight = page.ActualSize.Height;
    
                //加载图片到Image对象
                //System.Drawing.Image image = System.Drawing.Image.FromFile("E:/csmodel/model/957.png");
                PdfImage image = PdfImage.FromFile(imgUrl);
    
                //调整图片大小
                //int width = image.Width;
                //int height = image.Height;
                //float scale = 0.1f;  //缩放比例
                //Size size = new Size((int)(width * scale), (int)(height * scale));
                //Bitmap scaledImage = new Bitmap(image, size);
                ////加载缩放后的图片到PdfImage对象
                //PdfImage pdfImage = PdfImage.FromImage(scaledImage);
    
                //设置图片位置
                //float x = 0f;
                //float y = 50f;
    
                //在指定位置绘入图片
                page.Canvas.DrawImage(image, x, y);
    
                //保存文档
                doc.SaveToFile(pdfPath);
            }
  • 相关阅读:
    MySQL学习笔记(六):索引
    正则表达式基础知识,持续更新…
    js改变盒子大小(上下左右)分析
    表单自定义样式
    js拖拽分析
    javascript右键菜单分析
    简要分析javascript的选项卡和轮播图
    表单联动的总结
    浅显总结ASCII Unicode UTF-8的区别
    瀑布流知识的延伸
  • 原文地址:https://www.cnblogs.com/leebokeyuan/p/14011577.html
Copyright © 2011-2022 走看看