我正在使用PDF4NET库将用户上传的图像转换为pdf进行打印。我想要实现的是将完全相同的图像大小绘制到pdf中。例如,用户上传了16px x 16px图像,pdf将在中心显示相同尺寸的图像。
我正在使用的代码如下所示:
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库的公司工作。