Вы не можете этого сделать, скорее всего. Не видя файл, я не могу быть уверенным, но вероятность того, что каждый шрифт встроен в подмножество. То есть он содержит только несколько из глифов, которые первоначально присутствовали в шрифте.
Итак, если первый экземпляр содержит, скажем, a, c, f и g, а второй экземпляр содержит b, e и h, вы можете видеть, что два шрифта на самом деле разные.
Хуже того, текст обычно перекодируется, поэтому коды символов не то, что вы ожидаете. В приведенном выше примере «a» не будет иметь код символа 0x61 (ASCII для «a»), он будет иметь код символа 1. c будет 2, f будет 3 и так далее. Но во втором случае, код символа 1 будет «б», код символа 2 будет «х» и т.д.
Там нет простого способа рекомбинировать несколько подмножеств шрифта, а также повторно закодировать каждый набор текст в «комбинированный» шрифт.
Если устройство pdfwrite обнаруживает несколько подмножеств шрифтов, которые имеют совместимые кодировки (используемые коды символов уникальны в каждом шрифте), они объединят их вместе. Он не будет пытаться повторно закодировать их еще раз, поэтому, если два шрифта используют одни и те же коды символов (как в моем примере выше), pdfwrite просто испустит два шрифта.
Предполагая, что вы уже пробовали запустить файл через pdfwrite и не получили желаемого результата, то это не значит, что вы не можете добиться результата, который вы хотите с помощью текущего кода.
Возможно, вы можете указать iText не подмножать шрифты, что позволит решить проблему у вас в источнике, а не пытаться исправить ее впоследствии.