Как создать PDF для результатов поиска из Mysql In Struts - PullRequest
1 голос
/ 21 декабря 2009

Я хочу создать PDF-файл в соответствии с входящим значением из БД Mysql, используя Struts. Может ли кто-нибудь помочь мне с помощью любого инструмента или как обработать?

Ответы [ 3 ]

0 голосов
/ 21 декабря 2009

В дополнение к iText вы можете использовать JasperResports - он построен поверх iText, но предоставляет графический дизайнер для вашего отчета (который затем может быть экспортирован в PDF, Excel, принтер и т. Д.) .

Но в любом случае вам придется много читать и учиться;)

0 голосов
/ 13 мая 2010

Docmosis позволит вам создать основу вашего документа в формате Doc или ODT в качестве шаблона. Затем вы можете использовать свои данные mysql для управления тем, что вы хотите сделать с шаблоном (вставить данные, удалить данные, выбрать другой шаблон и т. Д.), Прежде чем рендерить PDF. Я не уверен, что означает ваш "PDF со сложным пользовательским интерфейсом". Docmosis позволяет вам создавать довольно сложные документы (благодаря OpenOffice), но Jasper позволяет вам кодировать практически любой выходной результат, который вам может понадобиться.

0 голосов
/ 21 декабря 2009

Вы можете использовать iText - зрелую библиотеку с открытым исходным кодом для создания PDF-документов. Следующий пример основан на Struts 1, но может вам помочь:

public class PDF extends Action {
    public ActionForward perform(ActionMapping mapping, ActionForm form,
        HttpServletRequest request, HttpServletResponse response)
        throws IOException, ServletException {

    try {

        Document document = new Document();
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        PdfWriter.getInstance(document, baos);
        document.open();
        document.add(new Paragraph("Hello World"));
        //
        // add your data here ...
        //
        document.close();

        response.setContentType("application/pdf");
        response.setContentLength(baos.size());
        ServletOutputStream out = response.getOutputStream();
        baos.writeTo(out);
        out.flush();
    } catch (Exception e2) {
        System.out.println("Error in " + getClass().getName() + "\n" + e2);
    }
    return null;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...