itext中设置图片0.75的系数怎么来的
1、背景
将图片生成到pdf里面结果图片的DPI 与生成之后PDF 分辨率不一样导致打印出来的不行。
比如一张 300×300的图片,添加到pdf中,window预览会变成400×400。
2、基础知识
DPI:“dot per inch”的缩写,就是指在每英寸长度内的点数。在Photoshop中文版中可以看到中文解释是“分辨率”的一种表示方式——“像素/英寸”,也就是英寸的像素点。 DPI越大,像素数越高;一般电脑中所需要的dpi数为72;而相片冲印和印刷则需要300dpi
一张图片的打印出来的实际尺寸是由电子图片的像素和分辨率共同决定的,像素(Pixel)是指构成图片的小色点,分辨率(单位DPI)是指每英寸(Inch)上的像素数量,可以看做是这些小色点的分布密度;像素相同时,分辨率越高则像素密度越大,实际打印尺寸越小,图像也越清晰。
实际尺寸(英寸)=像素/分辨率; 1英寸=2.54厘米; 如一张图片宽为600像素,分辨率为300,那么实际打印宽度为:600/300=2英寸,约为5厘米。
3、问题解答
知道图片的DPI 但是PDF 的DPI 估计也是一样的。但是不知道怎么查看。度娘告诉我用ps可以看,下了ps。查看生成之后的PDF 原来就是PS工具栏中图像里的图像大小,一看分辨率是72。
刚开始以为PDF的pdi 跟图片有关系,只要设置了图片的DPI就行了。
设了半天不行。原本我的图片DPI就是96。为什PDF生成的总是72。
我想把DPI变成96 反算下72/96=0.75 设置0.75f
结果pdf的DPI真的变成96。
返回项目中的代码看看itexpdf 也有这个方法叫 scalePercent 但是百分比这种方式。
Image jpeg;
jpeg = Image.getInstance(buffimg, null);
jpeg.scalePercent(75f);
正文到此结束