Если пиксель-в-пиксель, то можно написать шаблон на языке Postscript, заменить в нем нужные поля и конвертировать в PDF. Поскольку PDF - это и есть сжатый Postscript, точность обеспечена.
Уж не знаю, какие библиотеки есть для дистилляции в Джаве, но есть открытый Ghostscript на С++.