如何在java servlet中将图像转换为pdf?

时间:2014-01-09 08:47:00

标签: java servlets pdf itext

我将转换图像转换为pdf文件时遇到了一些问题。

我完成了单个图像到pdf转换,现在我想将多个图像转换为单个pdf文件。

我正在使用itext库来创建pdf。

这是我创建单个pdf的代码,只有一个图像。

  Document convertJpgToPdf=new Document();
        //Create PdfWriter for Document to hold physical file
        PdfWriter.getInstance(convertJpgToPdf, new     FileOutputStream("D:\\PDF_Path\\ConvertImagetoPDF.pdf"));
        convertJpgToPdf.open();
        // Write Somethinf into that File
        convertJpgToPdf.add(new Paragraph("Welcome, Your Input Image is Converted to PDF, Save the File"));
        convertJpgToPdf.add(new Paragraph("PDF Produced by Converting Image to PDF as Servlet"));      
        //Get the input image to Convert to PDF
        Image convertJpg=Image.getInstance(uploadPath);
        //Add image to Document
        convertJpgToPdf.add(convertJpg);
        //Close Document
        convertJpgToPdf.close();

我的问题是我有一个文件夹,该文件夹包含10个图像,如何将所有图像转换为单个pdf文件,

       PDF File Header

       image1

       image2

       ..........
       ..........

       imageN

有可能吗?请帮我。提前谢谢。

1 个答案:

答案 0 :(得分:3)

Document document = new Document();
    // step 2
    PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(filename));
    // step 3
    document.open();
    // step 4
    // Adding a series of images
    Image img;
    for (int i = 0; i < RESOURCES.length; i++) {
        img = Image.getInstance(String.format("resources/img/%s", RESOURCES[i]));
        if (img.getScaledWidth() > 300 || img.getScaledHeight() > 300) {
            img.scaleToFit(300, 300);
        }
        document.add(new Paragraph(
                String.format("%s is an image of type %s", RESOURCES[i], img.getClass().getName())));
        document.add(img);
    }

请阅读itext教程,其工作正常 click here