style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">

Librerías Java Para Manipulación de Archivos PDF

Hola.

Quisiera saber si alguien sabe donde conseguir librerías java para manejo de archivos PDF, necesito imprimir y manipular este tipo de archivos desde java, he encontrado un sitio llamado www.qoppa.com que ofrece algunas opciones que parecen muy buenas pero quisiera saber su opinión y alguna sugerencia.
Saludos
Jaime

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de ezamudio

manipular?

A qué te refieres con manipular? PDF es formato de documento de sólo lectura... si quieres generar PDF he visto que hasta con XSLT se puede, y bueno, ya teniendo un PDF, pues si no es un proceso automatizado, la verdad le pasaría al sistema operativo esa tarea (con un "open" en mac o "start" en windows para que se abra el archivo con el programa configurado por el usuario para manejar esos archivos y ya de ahi que lo impriman).

Given the choice of dancing pigs and security, users will choose dancing pigs, every single time. - Steve Riley

Imprimir PDF

Para imprimir un archivo existente PDF o de cualquier tipo puedes usar el java.awt.Desktop, lo que necesitas:

los import;

import java.awt.Desktop;
import java.io.File;
import java.io.IOException;

el codigo:

       /*Obtiene una instancia del escritorio*/
       Desktop d = Desktop.getDesktop();
        /*Verifica que el ambiente del SO soporte los procedimientos*/
        if(d.isDesktopSupported()){
            /*si es así manos a la obra*/
           d.print(new File("c:\archivo.pdf"));//abre el archivo
        }
        else{
            /*de lo contrario muestra un error */
            JOptionPane.showMessageDialog(this, "El sistema no soporta los procedimientos.", "Error", JOptionPane.ERROR_MESSAGE);
        }

tambien lo puedes abrir con d.open(archivo)
ah Desktop esta disponible desde java 6.
Lo bonito de desktop es que te busca la aplicacion predeterminada para el archivo que quieres abrir y es independiente del sistema operativo lo mismo te sirve pa todos.
un enlace a la documentación

Referencia

http://java.sun.com/javase/6/docs/api/java/awt/Desktop.html

ah para lo de manipularlo pues ahí le tocará a otro mas leído responder porque la verdad yo no se.
espero te sirva.

Imagen de jali

a que te refieres con Manipular?

Hola!
A que te refieres con manipular el PDF? Que yo sepa no se puede ya que como dice ezamudio es de solo lectura.
Lo que si puedes es generarlo como se te de la gana, pero eso es al momento de que lo estas creando.

No se... se me ocurre copiar el contenido(el cual no se puede modificar directamente, unicamente recortar paginas. ) y pegarlo en otro nuevo y ya a ese le pudiste haber insertado una cabecera o pie de pagina jeje pero es lo mas que se puede hacer.(Que yo sepa)

Adjunto algunos objetos utilizados por Itext para hacer esto que te mencionaba
*****************
PdfStamper:
If you want to change the contents of one existing PDF file and add extra content such as watermarks, pagenumbers, extra headers,... PdfStamper is the object you need.
PdfCopy:
Allthough you could work around the PdfStamper's one document only limitation by adding new pages, you'd better use PdfCopy if you only want to copy (a selection of) pages from one or more PDF files into one resulting PDF. And if you don't need to change the contents of one or more PDF files (maybe just the bookmarks). The syntax of PdfCopy looks very similar to the syntax of PdfWriter.
**********************

Saludos

BeVegetarian =)

Imagen de davo

Exactamente a que te refieres con manipular jeje

Hola Jaime

nose realmente que quieras hacer o a que te refieras con manipular pdf, yo he creado reportes y archivos simples pdf con JasperReports

puedes encontrar mas info sobre jasper reports aqui . y cuenta tambien con un editor el cual se llama ireports. espero te sea util

Manipular!!

Gracias por sus aportes, en realidad lo que intento es editar, copiar, pegar, etc.... o sea manipular... y en realidad esta página me ha ayudado, la librería que tienen me ha permitido hasta llenar formularios en pdf. está muy bien.
Gracias a todos por su colaboracion.

Imagen de benek

Re: Manipular

Un poco tarde pero para el que le sirva, estoy ocupando ICEpdf, proyecto de ICEsoft (la compañía que hace ICEfaces) y la librería es muy buena.

En mi caso tengo que generar un PDF a partir del contenido de un editor de texto enriquecido así que la entrada es HTML, por lo que utilizo la librería Flying Saucer, que internamente utiliza iText para convertir de HTML a PDF. Una vez generado ocupo ICEpdf para mostrarlo en web y navegar entre él.

Todas estas librerías están hechas en Java.

Saludos.

Javier Ramírez Jr.

respuesta

usa itext, hoy mismo podrias empezar a darle formato a tu documento

http://www.vogella.de/articles/JavaPDF/article.html

http://es.wikipedia.org/wiki/IText

Disculpen ya entrados en PDF

tengo una duda
como poner seguridad que no se se pueda copiar la información de un archivo pdf, el archivo pdf lo genero con jasper 3.7.1 la verdad no encontre la forma de colocar esa seguridad desde jasper también intente con la clase JRPdfExporter y nada; quisiera saber si me pueden ayudar en como ponerle seguridad de copiado al archivo pdf.

se los agradecería muchos cambio y fuera

Imagen de JDaniel10

imprimir varios pdf

Tengo un problema parecido, necesito mandar a imprimir varios archivos pdf directamente desde un botón a una impresora en red.
Probe usando java.awt.Desktop y usar el print nativo del sistema operativo(windows) pero con esto también me abre la aplicación predeterminada para leer este tipo de archivos (Adobe ) , hay manera de usar algo parecido sin que se abra la aplicación y solo mande a imprimir?

Hola pues realmente para que

Hola pues realmente para que necesitas usar las librerias de PDF, si vas a realizar reportes esta jaspereport, crystalreport, etc. e igual si es para eso depende el lenguaje donde lo programes

style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">