Я использую Docx4j для создания различных документов, и у меня возникла проблема с созданием документов, содержащих изображения.
Моя программа создает файл PNG размером 300x200 пикселей и создает документ, содержащий это изображение. Когда я открываю этот документ, изображение масштабируется в масштабе 1:1. Затем программа перезаписывает PNG изображением размером 600x400 пикселей и снова генерирует документ. Когда я открываю этот новый документ, масштаб изображения составляет 1:2. Его размеры такие же, как у предыдущего изображения.
Мне кажется, что класс Docx4j BinaryPartAbstractImage
кэширует информацию об изображениях в статическом члене и не обновляет информацию при изменении файла.
В настоящее время у меня нет другого решения, кроме как остановить программу, чтобы очистить кеш или использовать новые имена файлов изображений при создании документа. Первое решение нецелесообразно, а второе создает больше проблем в тех частях программного обеспечения, которые предполагают, что путь к файлу не будет изменен.
Итак, у вас есть другой обходной путь для очистки кеша изображений?