Servlet是一个接受请求并用响应响应它的对象。基本的 Servlet 包包含代表 servlet 请求和响应的 Java 对象,以及配置和执行环境信息。Servlet 可以对任何形式的请求做出反应,尽管它们最常用于扩展 Web 服务器托管的应用程序。Java 对于此类应用程序,servlet 技术提供了特定于 HTTP 的 servlet 类。
让我们看看如何使用 servlet 技术将数据写入 PDF。这里简单地使用一个 servlet 来编写一些数据,然后将其显示为 PDF。作为本文的一部分,创建了一个将数据输出到 PDF 文件的应用程序。
这里 NetBeans IDE 用于创建此演示应用程序。
为了创建应用程序,需要以下文件:
- HTML 文件——该文件包含一个指向显示我们的 PDF 材料的 servlet 的 URL。
- Servlet 文件- 此文件将数据保存为 PDF 文件,并通知服务器它是 PDF 文件类型。
- web.xml – 用于设置 servlet 文件。服务器从这个 XML 文件接收 servlet 信息。
执行:
让我们开始构建这个应用程序。
第 1 步:第一步是打开 NetBeans IDE 并创建一个新项目。
第 2 步:现在选择“Java web”->“Web 应用程序”,如下图所示。
第 3 步:将项目命名如下。
第 4 步:选择版本和服务器向导,然后单击完成。
第 5 步:现在复制下面提供的 index.html 中的代码。
<!DOCTYPE html>
<html>
<head>
<title>Write Data into Pdf using Servlet</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width">
</head>
<body bgcolor="cyan">
<center>
<h1>Click on Below Link to Get your PDF</h1>
</center>
<center>
<a href="DownloadPdf">Click Here</a>
</center>
</body>
</html>
第 6 步:下载“itextpdf.jar”文件并将其添加到您的项目库中。
第 7 步:现在创建一个名为“DownloadPdf”的 servlet,并将提供的代码复制到其中。
import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.Paragraph;
import com.itextpdf.text.pdf.PdfWriter;
import java.io.*;
import java.util.Date;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class DownloadPdf extends HttpServlet {
private static final long serialVersionUID = 1L;
@Override
protected void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("application/pdf");
response.setHeader(
"Content-disposition",
"inline; filename='Downloaded.pdf'");
try {
Document document = new Document();
PdfWriter.getInstance(
document, response.getOutputStream());
document.open();
document.add(new Paragraph("GeeksforGeeks"));
document.add(new Paragraph(
"This is a demo to write data to pdf\n using servlet\nThank You"));
document.close();
} catch (DocumentException de) {
throw new IOException(de.getMessage());
}
}
}
第 8 步:确保您的“web.xml”文件与下面的代码相同。
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<servlet>
<servlet-name>DownloadPdf</servlet-name>
<servlet-class>DownloadPdf</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>DownloadPdf</servlet-name>
<url-pattern>/DownloadPdf</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>30</session-timeout>
</session-config>
</web-app>
第 9 步:项目已准备好运行,应用程序的输出如下所示。
第 10 步:点击链接后,将开始下载 pdf 文件。
第 11 步:下载的文件显示如下所示的输出。