1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > java 批量打印pdf文件_java 打印tiff及批量打印图片技术文章.doc

java 批量打印pdf文件_java 打印tiff及批量打印图片技术文章.doc

时间:2024-06-06 23:44:34

相关推荐

java 批量打印pdf文件_java 打印tiff及批量打印图片技术文章.doc

java 打印tiff及批量打印图片技术文章

java 打印tiff及批量打印图片技术文章

转载与发 -09-01 12:38:11 阅读772 评论3 字号:大中小 订阅

前几天老大让我做一个java print tiff格式图片的程序,而我对这个一无所知,幸好老大给我了些资料。刚开始只能做到把tiff图片分解成功,并单页打印,没办法实现多页连续打印,由于我对java Printable 这个类不是很了解,所以在哪个循环的地方控制不好,无法实现多页连续打印。但为了完成任务,我想办法把tiff图片文件转化成为了pdf文件,但是pdf文件在java中也不容易打印,所以我只好调用Adobe Reader 的打印程序打印,但是这个不是很好,需要客户装Adobe Reader 才行。后来经过老大稍微修改,实现了多页打印。后来发现其实我对哪个Printtable 里面的哪个pageIndex参数没有理解。

程序中需要的jar文件:jai_codec.jar;jai_core.jar;iText-2.1.3.jar(自己网上下吧,我也是自己找的,网址没有记下来);需要安装 jai_imageio插件(/binary-builds.html);

java 直接连续打印tiff 程序:

import java.awt.Graphics;

import java.awt.image.BufferedImage;

import java.awt.image.renderable.ParameterBlock;

import java.awt.print.PageFormat;

import java.awt.print.Paper;

import java.awt.print.Printable;

import java.awt.print.PrinterException;

import java.awt.print.PrinterJob;

import java.io.File;

import java.util.Vector;

import javax.imageio.ImageReader;

import javax.imageio.spi.IIORegistry;

import javax.imageio.spi.ImageReaderSpi;

import javax.imageio.stream.FileImageInputStream;

import javax.imageio.stream.ImageInputStream;

import javax.media.jai.JAI;

import javax.media.jai.PlanarImage;

import javax.media.jai.RenderedOp;

import com.sun.media.jai.codec.FileSeekableStream;

import com.sun.media.jai.codec.SeekableStream;

import com.sun.media.jai.codec.TIFFDecodeParam;

import com.sun.media.jai.codec.TIFFDirectory;

public class PrintTiff {

private BufferedImage[] bi = null;

private File tiffFile = null;

private int pages = 0;

public static void main(String[] args) throws Exception {

PrintTiff pt = new PrintTiff("3699_001.tif");//自己的tiff文件,我是把它放在程序的同一个目录下面

pt.print();

}

public PrintTiff(String file) {

tiffFile = new File(file);

init();

}

private void init() {

try {

ImageReader tiffReader;

ImageInputStream input;

input = new FileImageInputStream(tiffFile);

//以下为读取tiff文件

IIORegistry iioreg = IIORegistry.getDefaultInstance(

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。