我使用的代码如下:
var canvas = page.Canvas; var hRatio = page.Width / objImage.Width; var vRatio = page.Height / objImage.Height; var ratio = Math.Min(hRatio, vRatio); page.Canvas.DrawImage(decodedPath, 0, 0, objImage.Width * ratio, objImage.Height * ratio, 0, PDFKeepAspectRatio.KeepWidth);
问题是当用户上传一个小图片时,它会拉伸到适合pdf的时候绘制图片。
**结果必须在pdf的中心对齐
在PDF页面上绘制图像时,图形大小以PDF点为单位指定。PDF文件不使用像素。 对于您的情况,您应该测试“比率”,如果它大于1(页面大于图像),那么您应该按原样绘制图像(不按比率相乘)。
免责声明:我为开发PDF4NET库的公司工作。