Convertir Tiff en Pdf en java en utilisant itext


J'utilise le code ci-dessous pour convertir tiff en pdf Cela fonctionne très bien pour les images tiff de dimensions 850*1100.Mais quand j'essaie de donner l'image tiff d'entrée des dimensions (par exemple: - 1574*732, 684*353 ou autre 850*1100), je reçois l'erreur ci-dessous. Aidez-moi à convertir des images tiff de différentes dimensions en PDF.

Une erreur s'est produite pour le code ci-dessous .La compression JPEG n'est prise en charge qu'avec une seule bande. Cette image a 45 bandes.

RandomAccessFileOrArray myTifFile = null;
com.itextpdf.text.Document tiffToPDF= null;
PdfWriter pdfWriter = null;
try{
        myTifFile = new RandomAccessFileOrArray(fileName);
        int numberOfPages = TiffImage.getNumberOfPages(myTifFile);
        tiffToPDF = new com.itextpdf.text.Document(PageSize.LETTER_LANDSCAPE);      
        String temp = fileName.substring(0, fileName.lastIndexOf("."));
        pdfWriter = PdfWriter.getInstance(tiffToPDF, new FileOutputStream(temp+".pdf"));
        pdfWriter.setStrictImageSequence(true);
        tiffToPDF.open();
        for(int tiffImageCounter = 1;tiffImageCounter <= numberOfPages;tiffImageCounter++) 
             {
                Image img = TiffImage.getTiffImage(myTifFile, tiffImageCounter);

                img.setAbsolutePosition(0,0);

                img.scaleToFit(612,792);

                tiffToPDF.add(img);

                tiffToPDF.newPage();
            } 

        }
Author: byreddy, 2014-07-31

1 answers

Ce code vous expliquera comment convertir tiff en pdf.. plus d'informations peuvent être trouvées ici et ici

   import com.itextpdf.text.pdf.RandomAccessFileOrArray;
//Read Tiff File, Get number of Pages
import com.itextpdf.text.pdf.codec.TiffImage;
//We need the library below to write the final 
//PDF file which has our image converted to PDF
import java.io.FileOutputStream;
//The image class to extract separate images from Tiff image
import com.itextpdf.text.Image;
//PdfWriter object to write the PDF document
import com.itextpdf.text.pdf.PdfWriter;
//Document object to add logical image files to PDF
import com.itextpdf.text.Document;
public class TiffToPDF {
public static void main(String args[]){
    try{
        //Read the Tiff File
        RandomAccessFileOrArray myTiffFile=new RandomAccessFileOrArray("c:\\java\\test.tif");
        //Find number of images in Tiff file
        int numberOfPages=TiffImage.getNumberOfPages(myTiffFile);
        System.out.println("Number of Images in Tiff File" + numberOfPages);
        Document TifftoPDF=new Document();
        PdfWriter.getInstance(TifftoPDF, new FileOutputStream("c:\\java\\tiff2Pdf.pdf"));
        TifftoPDF.open();
        //Run a for loop to extract images from Tiff file
        //into a Image object and add to PDF recursively
        for(int i=1;i<=numberOfPages;i++){
            Image tempImage=TiffImage.getTiffImage(myTiffFile, i);
            TifftoPDF.add(tempImage);
        }
        TifftoPDF.close();
        System.out.println("Tiff to PDF Conversion in Java Completed" );
    }
    catch (Exception i1){
        i1.printStackTrace();
    }      
    }    
}
 1
Author: Deepanshu J bedi, 2014-07-31 06:43:09