Пока я комментирую комментарии, призывающие вас отладить код и найти основную причину (а затем отправить запрос на извлечение) или создать проблему в iText Jira, если вы являетесь клиентом с контрактом на поддержку (что повысит приоритет проблемы), вот предложение обходного пути (которое я не проверял, но я шансы, что это будет работать):
Используйте конструкторы PdfReader
и PdfWriter
, которые принимают InputStream
и OutputStream
соответственно. В этом случае код, вызывающий проблему, не должен вызываться. То же самое для всех остальных случаев, когда iText взаимодействует с вашей файловой системой - упаковывать все в InputStream
/ OutputStream
или работать с byte[]
массивами.
Итак, эта строка:
new PdfDocument(new PdfReader(inFilePath), new PdfWriter(outFilePath))
становится таким:
new PdfDocument(new PdfReader(new FileInputStream(inFilePath)),
new PdfWriter(new FileOutputStream(outFilePath)))
Возможно, вы также захотите обернуть потоки в BufferedInputStream
/ BufferedOutputStream
.
Аналогично, при работе с PdfFontFactory
используйте методы, которые принимают byte[]
вместо String
, представляющего путь к файлу, и т. Д.