#java #pdf #servlets #spring-mvc #itext
#java #PDF #сервлеты #spring-mvc #itext
Вопрос:
У меня есть объект json, который на самом деле представляет собой arraylist объектов, ранее преобразованных в json.
Что я хотел бы сделать, так это создать в моем PDF-документе структуру, подобную таблице, взяв несколько полей объекта и сопоставив их со столбцом, найденным в таблице в формате pdf.
Каков самый быстрый способ, которым я могу это сделать?Или какие библиотеки являются общими для разработчиков Java для отображения pdf.
Мой проект — это веб-проект, использующий spring mvc. Интересно, есть ли способ сгенерировать pdf с помощью @ResponseBody, очевидно, нет, я нашел несколько интересных библиотек, среди которых jasper и fop. Но все они, похоже, используют xml, есть ли способ преобразовать POJO в записи в формате pdf?
Когда я использовал php, многие разработчики использовали библиотеку fpdf, это было довольно просто
Я нашел этот отличный учебник :
http://www.mkyong.com/spring-mvc/spring-mvc-export-data-to-pdf-file-via-abstractpdfview/
Но у меня возникли проблемы с поворотом всех моих страниц в альбомную ориентацию.
Я пытался :
document.setPageSize(PageSize.LETTER.rotate());
Но это поворачивает только последнюю страницу.
Комментарии:
1. Не уверен насчет части Spring, но в Java у вас есть iText как «библиотека» PDF. Вы взглянули на это?
2. @BalusC Я просматриваю его, пока мы говорим. mkyong.com/spring-mvc/… Я оставлю вопрос / комментарии, кто-нибудь может наткнуться на это. Но также ищу умные идеи от более опытных разработчиков
3. Похоже, вы уже нашли ответ 🙂 Mkyong.com в целом это хороший ресурс.
4. Что касается вашей новой проблемы, я думаю, что лучше изложить ее в совершенно новом вопросе, поскольку это совершенно не связано с «Генерацией PDF-документа из объекта JSON» с тегами
servlets
,spring-mvc
и т.д. Вы уже нашли ответ на первоначальный вопрос. Не используйте вопрос повторно для чего-то совершенно другого. Просто задайте новый вопрос «Как повернуть все страницы в iText?» с помощьюjava
,itext
alone.
Ответ №1:
Вы можете преобразовать свой JSON в XML, используя XML-класс из json.org а затем используйте какой-нибудь пример из Apache FOP для построения преобразования XSL, которое приведет к получению PDF.
Ответ №2:
Переопределить защищенный метод newDocument;
protected Document newDocument() {
final float margin = 30.0f;
return new Document(PageSize.A4.rotate(), margin, margin, margin,
margin);
}