En Java, puede usar un paquete proporcionado por un tercero para convertir PDF en imágenes. Aquí hay varios de uso común que se pueden seleccionar y usar de acuerdo con sus propias necesidades.
1. ICEPDF. Hay versiones pagas y de código abierto, las más recomendadas entre varios métodos. El efecto de conversión es relativamente bueno y puede identificar a los chinos en el archivo que tengo. Es decir, después de la conversión, el espacio entre los personajes de la fuente puede ser un poco amplio. Debido a que se cobra el soporte de fuentes, las imágenes convertidas tendrán una marca de agua oficial. Cómo eliminar las marcas de agua, puede ver otro artículo: Método ICEPDF para eliminar las marcas de agua
1. Descargue el paquete ICEPDF e importárelo al proyecto. 4 se usan aquí, como sigue:
2. Adjunte el ejemplo del código:
Cadena filepath = "c: /test.pdf"; Documento documento = nuevo documento (); document.setFile (filepath); FLOAT SCALE = 2.5F; // Escalado de rotación de flotación = 0f; // ángulo de rotación para (int i = 0; i <document.getNumberOfPages (); i ++) {bufferedImage image = (bufferedImage) document.getPageImage (i, gráficosrenderinghints.screen, org.icepdf.core.pobjects.page. Renderedimage spandimage = imagen; intente {archivo archivo = nuevo archivo ("c:/iecpdf_" + i + ".png"); Imageio.write (rendimage, "png", archivo); 14} Catch (IOException e) {E.PrintStackTrace (); } image.flush (); } document.dise ();En el ejemplo, está en formato PDF a PNG. También puede cambiar las líneas 12 y 13 a JPG y transferirlas al formato JPG, pero desde el efecto de conversión, la claridad de PNG será relativamente alta. Hay un truco para cambiar 12 líneas a JPG, pero 13 líneas para usar PNG, es decir, convertir imágenes en formato JPG pero con claridad PNG.
2. PDFBOX. El efecto de conversión está bien, que puede reconocer la mayoría de los contenidos de los archivos en mis manos, y algunos de ellos no pueden ser reconocidos.
1. Descargue el paquete PDFBox Rack e importe el proyecto. Dos de ellos se usan aquí, como sigue:
2. Adjunte el ejemplo del código:
Archivo archivo = nuevo archivo ("c: //test.pdf"); intente {pdDocument doc = pdDocument.load (archivo); PDFrenderer Renderer = nuevo PDFRenderer (DOC); 5 int pageCount = doc.getNumberOfPages (); for (int i = 0; i <pageCount; i ++) {bufferedImage image = renderer.renderImageWithDpi (i, 296); // bufferedImage image = renderer.renderImage (i, 2.5f); Imageio.write (imagen, "png", nuevo archivo ("c: //pdfbox_image.png")); }} catch (ioException e) {E.PrintStackTrace (); }En el ejemplo, el segundo parámetro de RederImageWithDPI es la unidad de resolución DPI, que se puede ajustar de acuerdo con los requisitos. La octava línea del código proporciona otro método para girar imágenes en el paquete, y el segundo parámetro es la relación de escala.
3. JPedal. El efecto no es ideal, y parece que el apoyo a los chinos no es muy bueno. La siguiente versión LGPL es una versión de código abierto.
1. Descargue el paquete JPedal e importárelo al proyecto de la siguiente manera:
2. Adjunte el ejemplo del código:
Pdfdecoder decode_pdf = new PdfDecoder (true); intente {decode_pdf.openpdffile ("c: //test.pdf"); // file // decode_pdf.openpdffile ("c: /jpedalpdf.pdf", "contraseña"); // archivo encriptado // decode_pdf.openpdfarray (bytes); // bytes es byte [] array con pdf // decode_pdf.openpdffilefromurl ("http://www.mysite.com/jpedalpdf.pdf", false); // decode_pdf.openpdffilefrominstream (in, falso); int inicio = 1, end = decode_pdf.getPageCount (); for (int i = start; i <end+1; i ++) {bufferedImage img = decode_pdf.getPageAsImage (i); Pruebe {imageIO.Write (img, "png", nuevo archivo ("c: //jpedal_image.png")); } catch (ioException e) {E.PrintStackTrace (); }} decode_pdf.closepdffile (); } catch (PdFexception e) {E.PrintStackTrace (); }Las líneas 3-7 del ejemplo también proporcionan varias formas diferentes de abrir PDF, que pueden seleccionarse y usarse de acuerdo con sus necesidades.
El método anterior para implementar PDF en imágenes en Java es todo el contenido que he compartido con usted. Espero que pueda darle una referencia y espero que pueda apoyar más a Wulin.com.