Capturar datos para imprimir en .pdf

Hola amigos.

Tengo un pequeño problema, necesito capturar los bits cuando se manda a imprimir un documento para guardarlo en la BD para posteriormente poderlo visualizar como pdf,, la verdad no tengo idea de como hacer eso.

Si tienen alguna idea de como hacerlo les agradezco infinitamente
.

Saludos..

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.

Solucion

Hola a todos

Si alguien necesita hacer lo mismo lo que hice fue hacer con el PDFCreator y con eso logre solucionar el problema que tenia

Saludos.......

Unir los bytes en un solo arreglo de bytes

Ahora tengo otro problema

Ya tengo guardados los archivos como bytes en una DB necesito unir todos esos bytes en uno solo arreglo y crear un archivo
Los bytes los obtengo con un arreglo de bytes, así es como lo estoy haciendo

for (int i = 0; i < getListaPDF().size(); i++) {
tam = tam + getListaPDF().get(i).length;
}
byte[] resPDF = new byte[tam];
for (int j = 0; j < getListaPDF().size(); j++) {
System.arraycopy(getListaPDF().get(j), 0, resPDF, inicio, getListaPDF().get(j).length);
inicio = inicio + getListaPDF().get(j).length;
}
setBytes(resPDF);

En resPDF estoy uniendo todos los archivos que estan en la base, le imprimí los bytes y todos estan en el arreglo pero al momento de escribir en un archivo .pdf solo me crea el ultimo registro obtenido de la bd

No se cual es el problema
Por favor si me pueden dar una pequeña orientación y decirme en que me estoy equivocando.

Saludos........