Вполне возможно, что у оригинальных PDF-файлов есть боксы обрезки в дополнение к их полям мультимедиа.
Если вы действительно просто хотите скопировать страницы из файлов A и B в файл C, используйте PdfCopy.
С http://itextpdf.com/examples/iia.php?id=123
String[] files = { MovieLinks1.RESULT, MovieHistory.RESULT };
// step 1
Document document = new Document();
// step 2
PdfCopy copy = new PdfCopy(document, new FileOutputStream(RESULT));
// step 3
document.open();
// step 4
PdfReader reader;
int n;
// loop over the documents you want to concatenate
for (int i = 0; i < files.length; i++) {
reader = new PdfReader(files[i]);
// loop over the pages in that document
n = reader.getNumberOfPages();
for (int page = 0; page < n; ) {
copy.addPage(copy.getImportedPage(reader, ++page));
}
}
// step 5
document.close();
Этот метод будет сохранять аннотации (включая поля, хотя вы действительно должны использовать PdfCopyFields, если вы хотите перемещать поля вокруг PROPERLY), но не закладки. Я не уверен насчет слоев ... Я так думаю.
О, и вы, вероятно, захотите добавить copy.freeReader(reader)
после того, как закончите с каждым ... особенно, если вы планируете циклически проходить через многие из них.