Non ho postato un messaggio con il codice dell'applicazione, ma se ti serve eccolo:
codice:
import java.io.*;
import com.lowagie.text.*;
import com.lowagie.text.pdf.*;
public class Accoda {
public static void accodaPDF(String [] files, String fileOut) {
try {
PdfReader reader = null;
PdfImportedPage page = null;
Document doc = new Document(PageSize.A4,2,2,2,2);
FileOutputStream fos = new FileOutputStream(fileOut);
PdfCopy copy = new PdfCopy(doc, fos);
doc.open();
for (int i=0; i<files.length; i++) {
reader = new PdfReader( files[i] );
for (int j=0; j<reader.getNumberOfPages(); j++) {
page = copy.getImportedPage(reader, j+1);
copy.addPage( page );
}
reader = null;
if ( !(new File(files[i])).delete() ) {
System.out.println("Impossibile eliminare il file " + files[i]);
}
}
doc.close();
} catch (Exception e) { e.printStackTrace(); }
}
}
La classe è parte di una applicazione un po' più imponente, ma non è difficile farla diventare una applicazione a se stante.
E' necessaria la libreria iText (scaricabile gratuitamente).
Documentazioe:
files: un array contenente tutti i nomi di file dei PDF da unire (l'ordine dei nomi determina l'ordine all'interno del PDF generato)
fileOut: il nome del file da generare che conterrà tutti i PDF riuniti.
Ciao.