Pessoal estou trabalhando com faxes, deste modo são gerado tiff’s de varios modos
1- tiff normal igual a um arquivo jpeg(converto para jpeg)
2 - tiff paginado (corto em varios tiffs)
3 - um tiff corrente com 3 paginas em uma folha grande seria algo entor de de 1024 x 2021(quando converte comprime)
estou usando o JAI para ler e converter para JPEG. esta funcionando para as opções 1 e 2 citadas acima.
na opção 3 ao gerar um jpeg ele comprime mesmo mantendo a mesma resolução tudo em uma folha.
preciso que ele não amasse esse jpeg e mantenha o tamanho real do tiff
se alguem tiver alguma dica ou ajuda para manipular tiff ficarei grato!!!
public static void converterTif(String dirTiff, int largura, int altura, int qualidade, boolean proporcional, String nomeParaConverter) throws IOException {
File fileTiff = new File(dirTiff);
SeekableStream seekableStream = new FileSeekableStream(fileTiff);
ImageDecoder decoder = ImageCodec.createImageDecoder("tiff", seekableStream, null);
int numPages = decoder.getNumPages();
RenderedImage images[] = new RenderedImage[numPages];
for (int i = 0; i < decoder.getNumPages(); i++) {
images[i] = decoder.decodeAsRenderedImage(i);
}
for (int i = 0; i < images.length; i++) {
String auxArq = fileTiff.getParent() + "/" + nomeParaConverter + (images.length > 1 ? "-" + i : "") + ".jpeg";
ParameterBlock parBlock = new ParameterBlock();
parBlock.addSource(images[i]);
parBlock.add(auxArq);
parBlock.add("jpeg");
RenderedOp renderedOp = JAI.create("filestore", parBlock);
renderedOp.dispose();
}
seekableStream.close();
fileTiff.delete();
}
