因为项目客户要求,要将扫描产生的图像文件转存为PDF。
Imageenio有一个方法savetopdf。这个方法可以生成一个PDF,不过生成的PDF文档体积比原来的图片文件大了10几倍,图像文件不到1M,产生的PDF却有接近20M。
之所以这样是没有设置输出的PDF参数。
Iamgeenio 有个params参数,这个参数里可以设置输出到PDF的压缩率,纸张大小等参数。调整后再次输出PDF,大小与原图像文件大小差不多。
ImageEnIO.Params.PDF_PaperSize := IEStrToPaperSize('A4', iepA4); //设置纸张
ImageEnIO.Params.PDF_Compression := ioPDF_JPEG; //设置压缩方式(默认是ioPDF_RLE,这里改为jpeg)
如果不设置压缩率,输出后的PDF文件会大很多。