Да, это возможно.Нет, setField () не сработает ... код Мэдисону скопирует поле значения , но не сами поля.
OTOH, это действительно не так сложно.
Что-то вроде:
PdfReader currentReader = new PdfReader( CURRENT_PDF_PATH ); // throws
PdfReader pdfFromWord = new PdfReader( TWEAKED_PDF_FROM_WORD_PATH ); // throws
PdfStamper stamper = new PdfStamper( currentReader , outputFile ); //throws
for( int i = 1; i <= tempalteReader.getNumberOfPages(); ++i) {
stamper.replacePage( pdfFromWord, i, i );
}
stamper.close(); // throws
Я игнорирую кучу исключений и пишу на Java, но C # должен выглядеть практически идентично.
Также этот кодигнорирует случай, когда кто-то ДОБАВЛЯЕТ СТРАНИЦУ ... что было бы довольно сложно.Это было добавлено до или после страниц с полями на них?Эти страницы вообще переформатировались, требуя перемещения полей?На этом этапе вам действительно нужен ручной процесс с Acrobat Pro.