Itextpdf 设置pdf 的分辨率(dpi)

      刚来新公司次日,提了一个问题给我处理。 java

将图片生成到pdf里面结果图片的DPI 与生成以后PDF 分辨率不同致使打印出来的不行。 dom

以前一直没有接触过DPI 不知是什么,没办法,只能百度。 工具


DPI:“dot per inch”的缩写,就是指在每英寸长度内的点数。在Photoshop中文版中能够看到中文解释是“分辨率”的一种表示方式——“像素/英寸”,也就是英寸的像素点。 DPI越大,像素数越高;通常电脑中所须要的dpi数为72;而相片冲印和印刷则须要300dpi.


知道图片的DPI 可是PDF 的DPI 估计也是同样的。可是不知道怎么查看。度娘告诉我用ps能够看,下了ps。查看生成以后的PDF 原来就是PS工具栏中图像里的图像大小,一看分辨率是72。 测试

刚开始觉得PDF的pdi 跟图片有关系,只要设置了图片的DPI就好了。 spa

设了半天不行。本来个人图片DPI就是96。为什PDF生成的老是72。 code

研究itextpdf 里面看了半天都没有关于DPI的东西能够设置。(哎,研究能力太弱) 图片

而后放弃使用Itexpdf 。 get

使用几种操做pdf 的类库,各类强大可是都没有介绍关于DPI的东西。(整的头痛) it

看了PDFRenderer ,可是人家只是读pdf的操做,并且好久没人维护了。 class

又看了ICEpdf 看了半天也没找。

在找,看到了pdfjet ,感受里面里面又有dome 比较全。

找了一个Example_03.java 作了测试。用ps看了下dpi 变了,查看每句代码

终于看到有一个方法Image.scaleBy能够设置,可是里面该设置啥。

各类尝试 先设置1f 结果是DPI 是72。

我想把DPI变成96 反算下72/96=0.75 设置0.75f

结果pdf的DPI真的变成96。

返回项目中的代码看看itexpdf 也有这个方法叫 scalePercent 可是百分比这种方式。

Image jpeg;

jpeg = Image.getInstance(buffimg, null);
jpeg.scalePercent(75f);




设置一个75f dpi改变了。终于能够解决了。

唉不容易呀,折腾了1.5d。

相关文章
相关标签/搜索