admin 管理员组文章数量: 1086019
2024年4月19日发(作者:接口的定义及作用是什么)
Java批量打印图片解决方案
有两个解决方法:直接打印一个图片集合;将多个图片放到一个文件里,再打印这个
文件。
一、直接打印图片集合
首先实现单个图片的打印(用到javax下的print包)。根据图片格式选择不同的打印
方式(支持gif、jpg、png格式的图片)。
其次实现多个图片的打印。用多次调用打印程序的方式实现图片的打印,但是会出现
问题:每次打印都是重复调用打印机,不能实现调用一次打印机就批量完成打印,最多实
现:一次批量打印,只取一次打印机,然后多次调用这个打印机打印单张图片。
考虑将几个图片在打印前合并成一个,然后打印出来。这种方式打印图片是将图片转
化成流的形式打印,有方法实现将几个图片流数据合并成一个流,然后将流数据打印出来。
问题又出现了:这种合并流的方式是将几个不同的图片合并到一个图片里,没有分页;同
时没有考虑这种流的合成方式对图片本身内容的影像(未验证)。
二、将多个图片合一,然后打印
从目标达成方面考虑,将图片合一有两种格式:word和pdf。但是考虑到是图片信息
在word中显的问题,特别是技术实现和效果方面考虑,最后选择将批量图片制作成pdf
格式的文件,交付打印。
目前关于将图片转换成pdf文件应用最广泛的是itext,iText是著名的开放源码的站
点sourceforge一个项目,是用于生成PDF文档的一个java类库。通过iText不仅可以生
成PDF或rtf的文档,而且可以将XML、Html文件转化为PDF文件。 这里也可以用纯
加java的方式将图片呢合并成pdf文件。
在长春人事档案目录里面,有实现图片转换为pdf的源代码,大家有用到的可以去这
个目录()里面找,里面实现了两个静态方法:
1)imageToPdf(String 需要转化为pdf的图片所在文件夹,String 新生成pdf文
件的路径)
要将图片文件转换为pdf文件要分三步走:
首先,得到需要转化的图片。通过传递过来的文件夹找到里面的图片文件。
其次,得到一个空的pdf文件。
先创建一个空的文件:Document doc = new Document(),其次定义这个文件的输
出地址tance(doc, new FileOutputStream(pdfFilePath));这样就创建
了一个空白的pdf模板。(),开启文档,使pdf模板可写。
最后,将图片放到pdf文件中
先根据图片位置,取得图片对象Image jpg =
tance(h()),再根据图片对象的长宽确定显示比例(有两种方
式,选了一种比较容易被接受的方式,这里的percent是百分比,取整,以宽度、长度作
为缩放的依据):int percent=getPercent(heigth, width),ercent(percent)。
版权声明:本文标题:java批量打印图片 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://roclinux.cn/p/1713526102a639084.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论