Visualizar pdf en java

Seo

Bovino maduro
#1
Pues bueno, este es mi primer aporte al corral, creo que ya era justo despues de un año, pero bueno al grano. Desarrollando mi actual proyecto se me ocurrio alguna forma para mostrar la ayuda de mi sistema (la cual ya esta en formato pdf) en un frame, panel, o algun componente que herede de Container, para no complicarme la vida me puse a buscar alguna libreria o forma de hacerlo y despues de mucho indagar me encontre con la libreria PDFRenderer, la cual nos permite visualizar pdf en nuestra aplicacion java, pero ojo solo para la version 1.4, lo cual a mi parecer no es problema, pues la mayoria de los pdf´s son de esta version.

Otro detalle es que solo funciona con java 5 o superior, asi que mejor actualizen su JDK antes de intentar usarlo, si no lo han hecho.

Esta es la direccion de la libreria https://pdf-renderer.dev.java.net/

Espero que les sirva :aplausos:

A peticion de bios_ppk un ejemplo, claro que no funcionara a menos que ya tengan instalada la libreria, y tambien un pic de como se ve el visor.


__________________________________________________________________________________________
import com.sun.pdfview.PDFFile;
import com.sun.pdfview.PDFPage;
import com.sun.pdfview.PagePanel;
import java.io.*;
import java.nio.ByteBuffer;
import java.nio.channels.FileChannel;
import javax.swing.*;

/**
* @author joshua.marinacci@sun.com
*/
public class prueba {

public static void setup() throws IOException {

//set up the frame and panel
JFrame frame = new JFrame("PDF Test");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
PagePanel panel = new PagePanel();
frame.add(panel);
frame.pack();
frame.setVisible(true);

//load a pdf from a byte buffer
File file = new File("test.pdf"); //Ojo con esto, aqui es donde se pone el nombre del archivo pdf, en este caso debe estar en el mismo
//directorio y con el nombre test.pdf, pueden cambiar si gustan.
RandomAccessFile raf = new RandomAccessFile(file, "r");
FileChannel channel = raf.getChannel();
ByteBuffer buf = channel.map(FileChannel.MapMode.READ_ONLY,
0, channel.size());
PDFFile pdffile = new PDFFile(buf);

// show the first page
PDFPage page = pdffile.getPage(0);
panel.showPage(page);

}

public static void main(final String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
try {
prueba.setup();
} catch (IOException ex) {
ex.printStackTrace();
}
}
});
}
 

Seo

Bovino maduro
#6
iText creo que no

tambien lo puedes hacer con el itext o el jasper reports
Pues antes de encontrarme con esta libreria intente con iText que es una libreria para crear pdf's, pero segun yo no te permite vizualizarlos. Si sabes las clases o forma de hacerlo con esta libreria, pues pasa el tip, un ejemplo con codigo, saludos :fucho:
 
Arriba