Hallo Forum,
ich habe mir einen Beispielcode zum Konvertieren eines PDF in Tiff heruntergeladen. Das Tiff wird auch erstellt aber die Datei ist anschließend im Explorer nicht löschbar so lange der WAS Server Prozess noch läuft weil sie noch geöffnet ist.
ich habe mir einen Beispielcode zum Konvertieren eines PDF in Tiff heruntergeladen. Das Tiff wird auch erstellt aber die Datei ist anschließend im Explorer nicht löschbar so lange der WAS Server Prozess noch läuft weil sie noch geöffnet ist.
Java:
protected static void convert(BufferedImage[] image, String tif, int dpi, int compression, float quality) throws IOException {
File file = new File(tif);
if (file.exists()) {
file.delete();
}
RandomAccessFile raf = new RandomAccessFile(file, "rw");
FileChannelImageOutputStream fios = new FileChannelImageOutputStream(raf.getChannel());
convert(image, fios, dpi, compression, quality);
fios.flush();
fios.close();
raf.close();
}
Java:
protected static void convert(BufferedImage[] image, Object os, int dpi, int compression, float quality) throws IOException {
TIFFImageWriter writer = new TIFFImageWriter(new TIFFImageWriterSpi());
TIFFImageWriteParam iwp = new TIFFImageWriteParam(writer.getLocale());
writer.setOutput(os);
writer.prepareWriteSequence(null);
iwp.setCompressionMode(TIFFImageWriteParam.MODE_EXPLICIT);
iwp.setCompressionType(getCompression(compression));
if (!isCompressionLossless(compression)) {
if (quality < 0.0F || quality > 1.0F)
quality = DEFAULT_COMPRESSION_QUALITY;
iwp.setCompressionQuality(quality);
}
for (int i = 0; i < image.length; i++) {
ImageTypeSpecifier imageType = ImageTypeSpecifier.createFromRenderedImage(image[i]);
TIFFImageMetadata imageMetadata = (TIFFImageMetadata) writer.getDefaultImageMetadata(imageType, iwp);
imageMetadata = createImageMetadata(imageMetadata, image[i].getHeight(), image[i].getWidth(), dpi, compression, image[i].getType());
writer.writeToSequence(new IIOImage(image[i], null, imageMetadata), iwp);
}
writer.endWriteSequence();
writer.dispose();
}