如何从数据库中检索数据并在java中以pdf格式显示 我想以pdf文件格式显示存储在数据库中的数据 我已经在网页中显示,而不是我想在pdf中显示。下面是我的代码,我用的是MySQL数据库 我跑完pgm后就要出局了

如何从数据库中检索数据并在java中以pdf格式显示 我想以pdf文件格式显示存储在数据库中的数据 我已经在网页中显示,而不是我想在pdf中显示。下面是我的代码,我用的是MySQL数据库 我跑完pgm后就要出局了,java,mysql,jsp,pdf,jdbc,Java,Mysql,Jsp,Pdf,Jdbc,我建议使用某种pdf生成器库,这将允许您创建一个pdf格式的数据 做谷歌搜索的一个例子是PdfBox,不过你可以随意使用你自己的 通常的做法是以编程方式创建Pdf文档并用数据填充它。通常应该有一些方法将Pdf设置为您希望的格式,具体取决于您使用的库 您需要将文件保存在服务器或云平台上的某个位置,以允许用户下载pdf。然后在网页上向用户显示下载链接 @halfer,@Sam请帮我解决这个问题你每次评论只能通知一个人。。。我不确定你所说的PDF格式是什么意思,但是你的代码看起来像是在写HTML@cr

我建议使用某种pdf生成器库,这将允许您创建一个pdf格式的数据

做谷歌搜索的一个例子是PdfBox,不过你可以随意使用你自己的

通常的做法是以编程方式创建Pdf文档并用数据填充它。通常应该有一些方法将Pdf设置为您希望的格式,具体取决于您使用的库


您需要将文件保存在服务器或云平台上的某个位置,以允许用户下载pdf。然后在网页上向用户显示下载链接

@halfer,@Sam请帮我解决这个问题你每次评论只能通知一个人。。。我不确定你所说的PDF格式是什么意思,但是你的代码看起来像是在写HTML@cricket_007,是的,我用HTML写了,我想用PDF文件打印。下面是一个关于如何使用iText的代码示例:你可以提供一个代码示例,而不是一个链接,不是吗?虽然这个链接可以回答这个问题,最好在这里包括答案的基本部分,并提供链接供参考。如果链接页面发生更改,仅链接的答案可能无效。-@cricket_007代码取决于您选择使用的库。@Teepeemm在新编辑中提供了一些额外信息。另外,PdfBox是Apache开发的,所以虽然页面内容可能会改变,但我认为该库会存在一段时间。那么,您对如何创建和显示pdf的回答是什么?是否创建pdf并将其呈现给用户?这有什么帮助?
public class StockReceiptReturnQuery extends HttpServlet {

    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();

        String receiptNo = request.getParameter("ReceiptNo");
        int Rno = Integer.parseInt(receiptNo);

        try {
            Class.forName("com.mysql.jdbc.Driver");
            Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306", "root", "dinga");
            PreparedStatement ps = con.prepareStatement("select * from project.stockreceiptreturn WHERE ReceiptNO =?");
            ps.setInt(1, Rno);
            out.print("<center><table width=25% border=1></center>");
            out.print("<center><h1>StockReceiptReturnQuery:</h1></center>");
            ResultSet rs = ps.executeQuery();
            /* Printing column names */
            ResultSetMetaData rsmd = rs.getMetaData();
            while (rs.next()) {
                out.print("<tr>");
                out.print("<td>" + rsmd.getColumnName(1) + "</td>");
                out.print("<td>" + rs.getInt(1) + "</td></tr>");
                out.print("<tr><td>" + rsmd.getColumnName(2) + "</td>");
                out.print("<td>" + rs.getString(2) + "</td></tr>");
                out.print("<tr><td>" + rsmd.getColumnName(3) + "</td>");
                out.print("<td>" + rs.getString(3) + "</td></tr>");
                out.print("<tr><td>" + rsmd.getColumnName(4) + "</td>");
                out.print("<td>" + rs.getString(4) + "</td></tr>");
                out.print("<tr><td>" + rsmd.getColumnName(5) + "</td>");
                out.print("<td>" + rs.getString(5) + "</td></tr>");
                out.print("<tr><td>" + rsmd.getColumnName(6) + "</td>");
                out.print("<td>" + rs.getString(6) + "</td></tr>");
                out.print("<tr><td>" + rsmd.getColumnName(7) + "</td>");
                out.print("<td>" + rs.getInt(7) + "</td></tr>");
                out.print("<tr><td>" + rsmd.getColumnName(8) + "</td>");
                out.print("<td>" + rs.getInt(8) + "</td></tr>");
                out.print("<tr><td>" + rsmd.getColumnName(9) + "</td>");
                out.print("<td>" + rs.getString(9) + "</td></tr>");
                out.print("<tr><td>" + rsmd.getColumnName(10) + "</td>");
                out.print("<td>" + rs.getInt(10) + "</td></tr>");
                out.print("<tr><td>" + rsmd.getColumnName(11) + "</td>");
                out.print("<td>" + rs.getString(11) + "</td></tr>");
                out.print("<tr><td>" + rsmd.getColumnName(12) + "</td>");
                out.print("<td>" + rs.getDouble(12) + "</td></tr>");
                out.print("<tr><td>" + rsmd.getColumnName(13) + "</td>");
                out.print("<td>" + rs.getDouble(13) + "</td></tr>");
                out.print("<tr><td>" + rsmd.getColumnName(14) + "</td>");
                out.print("<td>" + rs.getInt(14) + "</td></tr>");
                out.print("<tr><td>" + rsmd.getColumnName(15) + "</td>");
                out.print("<td>" + rs.getInt(15) + "</td></tr>");
                out.print("<tr><td>" + rsmd.getColumnName(16) + "</td>");
                out.print("<td>" + rs.getDouble(16) + "</td></tr>");
                out.print("<tr><td>" + rsmd.getColumnName(17) + "</td>");
                out.print("<td>" + rs.getDouble(17) + "</td></tr>");
                out.print("<tr><td>" + rsmd.getColumnName(18) + "</td>");
                out.print("<td>" + rs.getDouble(18) + "</td></tr>");
                out.print("<tr><td>" + rsmd.getColumnName(19) + "</td>");
                out.print("<td>" + rs.getDouble(19) + "</td></tr>");
                out.print("<tr><td>" + rsmd.getColumnName(20) + "</td>");
                out.print("<td>" + rs.getString(20) + "</td></tr>");
                out.print("<tr><td>" + rsmd.getColumnName(21) + "</td>");
                out.print("<td>" + rs.getInt(21) + "</td></tr>");
                out.print("<tr><td>" + rsmd.getColumnName(22) + "</td>");
                out.print("<td>" + rs.getString(22) + "</td></tr>");
                out.print("<tr><td>" + rsmd.getColumnName(23) + "</td>");
                out.print("<td>" + rs.getInt(23) + "</td></tr>");
                out.print("<tr><td>" + rsmd.getColumnName(24) + "</td>");
                out.print("<td>" + rs.getInt(24) + "</td></tr>");

            }
            out.print("</table>");

        } catch (Exception e2) {
            e2.printStackTrace();
        }

        finally {
            out.close();
        }
    }
}