преобразовать файл PDF в один JPEG?

Как мы можем конвертировать PDF-файл в один JPEG? Теперь я использую следующий код для преобразования в разные изображения ... но как я могу получить как одно изображение JPEG    пакет имя_пакета;

import antlr.ByteBuffer;
import com.sun.pdfview.PDFFile;
import com.sun.pdfview.PDFPage;
import java.awt.Image;
import java.awt.Rectangle;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.RandomAccessFile;
import java.nio.MappedByteBuffer;
import java.nio.channels.FileChannel;
import javax.imageio.ImageIO;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 *
 * @author Praveen
*/
public class Pdf2ImageCon extends HttpServlet {

/**
 * Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
 * @param request servlet request
 * @param response servlet response
 * @throws ServletException if a servlet-specific error occurs
 * @throws IOException if an I/O error occurs
 */
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
String pdfname="C:/san.pdf";
    try {
        BufferedImage img=null;

        File file = new File(pdfname);
    RandomAccessFile raf;
    try {
        raf = new RandomAccessFile(file, "r");
        FileChannel channel = raf.getChannel();
        MappedByteBuffer buf = channel.map(FileChannel.MapMode.READ_ONLY, 0, channel.size());
        PDFFile pdffile = new PDFFile(buf);
        // draw the first page to an image
        int num = pdffile.getNumPages();

int length;
length=num;
        for (int i = 0; i <= num; i++) {
            PDFPage page = pdffile.getPage(i);
            //get the width and height for the doc at the default zoom
            int width = (int) page.getBBox().getWidth();
            int height = (int) page.getBBox().getHeight();
            Rectangle rect = new Rectangle(0, 0, width, height);
            int rotation = page.getRotation();
            Rectangle rect1 = rect;
            if (rotation == 180) {
                rect1 =
new Rectangle(0, 0, rect.height, rect.width);
            }
            //generate the image


                    img = (BufferedImage) page.getImage(
                    rect.width, rect.height, //width & height
                    rect1, // clip rect
                    null, // null for the ImageObserver
                    true, // fill background with white
                    true // block until drawing is done
                    );

        }
        ImageIO.write(img, "png", new File("C:\\newone.png"));
    } catch (FileNotFoundException e1) {
        System.err.println(e1.getLocalizedMessage());
    } catch (IOException e) {
        System.err.println(e.getLocalizedMessage());
    }



    } finally {
        out.close();
    }
}

// <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
/**
 * Handles the HTTP <code>GET</code> method.
 * @param request servlet request
 * @param response servlet response
 * @throws ServletException if a servlet-specific error occurs
 * @throws IOException if an I/O error occurs
 */

protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
    processRequest(request, response);
}

/**
 * Handles the HTTP <code>POST</code> method.
 * @param request servlet request
 * @param response servlet response
 * @throws ServletException if a servlet-specific error occurs
 * @throws IOException if an I/O error occurs
 */

protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
    processRequest(request, response);
}

/**
 * Returns a short description of the servlet.
 * @return a String containing servlet description
 */

public String getServletInfo() {
    return "Short description";
}// </editor-fold>

}

При этом каждая страница PDF-файла генерирует новое изображение JPEG. Как я могу получить один JPEG / PNG из PDF-файла

Ответы на вопрос(2)

Ваш ответ на вопрос