範例如下,請參考:
import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.pdf.PdfCopy;
import com.itextpdf.text.pdf.PdfSmartCopy;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Map;
public class mergePDF {
public static void main(String args[]) throws IOException, DocumentException {
//merge
String[] files = {"filled_out_job_application.pdf", "replace_stream.pdf"};
mergeFiles(files, "a.pdf", true);
mergeFiles(files, "b.pdf", false);
}
public void mergeFiles(String[] files, String result, boolean smart) throws IOException, DocumentException {
Document document = new Document();
PdfCopy copy;
if (smart)
copy = new PdfSmartCopy(document, new FileOutputStream(result));
else
copy = new PdfCopy(document, new FileOutputStream(result));
document.open();
com.itextpdf.text.pdf.PdfReader[] reader = new com.itextpdf.text.pdf.PdfReader[3];
for (int i = 0; i < files.length; i++) {
reader[i] = new com.itextpdf.text.pdf.PdfReader(files[i]);
copy.addDocument(reader[i]);
copy.freeReader(reader[i]);
reader[i].close();
}
document.close();
}
}


