在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
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); }
|
请发表评论