При чтении приложения Spring Boot в формате PDF с ресурса всегда отображаются пустые страницы. - PullRequest
0 голосов
/ 20 февраля 2020

Я работаю над серверным приложением Spring Boot. Мне нужно прочитать существующий PDF-файл как шаблон и добавить к нему несколько текстов, а затем вернуть новый PDF-файл.

Я пробовал несколько способов чтения PDF-файла из папки ресурсов приложения, но неважно в этом случае полученный файл всегда будет пустым.

//One of the ways I tried:
File file = ResourceUtils.getFile("classpath:temp.pdf");
//file.exist() will return true, but the file is blank if wrote to another file

Полученный файл будет иметь правильное количество страниц , но без содержимого.

Я попытался прочитать в PNG, TXT или JSON, все работало нормально. Мой текущий обходной путь - на самом деле превратить шаблон PDF в PNG, а затем использовать изображение в качестве шаблона. Но я не хочу go этот маршрут, если только это не единственный путь.

Я также попытался использовать библиотеку iText (iText 5), чтобы прочитать ее, но все еще получил пустую страницу.

PdfReader pdfReader = new PdfReader("file.pdf");
PdfStamper pdfStamper = new PdfStamper(pdfReader, new FileOutputStream("newFile.pdf"));
pdfStamper.close();
pdfReader.close();
//newFile.pdf will be blank but will have the same number of pages as file.pdf does.

Так что я думаю, что это больше связано с самим моим приложением.

Я использую Spring Boot 1.5.12.

Кто-нибудь сталкивался с этой проблемой перед? Существуют ли какие-либо конфигурации для приложения, необходимые для обработки PDF?

Есть предложения о том, как это исправить, или есть мысли о том, что могло пойти не так?

Большое спасибо!

...