Ответ 1
Если время имеет существенное значение (как обычно бывает, когда ваш босс вас что-то подает), я бы рекомендовал проверить iText (основной сайт здесь).
Это очень, очень просто узнать (вы можете запустить его, запустить и генерировать простые "Hello, PDF!" примеры за 20 минут) и экспортировать практически что угодно в PDF: таблицы, списки, графики, изображения, гипертекст и т.д.
По собственному признанию, JasperReports, реализующий его JRBeanCollectionDataSource
, является более элегантным, гибким, постоянным решением для вас. Но если вам нужна быстрая n-грязная библиотека, чтобы просто создавать PDF файлы, и надвигающиеся крайние сроки приближаются, я бы загрузил iText JAR и имел на нем.
На сайт загружены практические примеры кода практически для всего, что вы хотели бы выполнить.
В отличие от JasperReports, iText не является генератором отчетов. Его просто генератор PDF (который, как я могу сказать в вашем вопросе, звучит как все, что вам нужно). Таким образом, для любого конкретного Bean вы просто выберите свойства, которые хотите экспортировать в счет-фактуру PDF, и используйте классы Chunk
, Paragraph
и т.д., Чтобы добавить их в документ по мере необходимости:
// Your POJO/Bean/VO
Employee oEmp = new Employee();
Document oInvoicePdf = new Document();
PdfWriter.getInstance(document, new FileOutputStream("/invoices/2011/Invoice201.pdf"));
document.open();
document.add(new Chunk("Employee name is : " + oEmp.getName()));
document.close();
Даже если это не то, что вы ищете, любой ценой Я бы рекомендовал вам избегать Apache PdfBox. По моему скромному мнению, это чистое зло и только разорвет ваше сердце.
Надеюсь, что это поможет и удачи!