C#项目完成PDF文件增加印章操作可指定印章位置
乡野小猫 人气:41、引用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> 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); }
代码直接复制使用即可,有问题欢迎@,大家一起讨论。
加载全部内容