Servlet – 将数据写入 PDF
Servlet 是一个接受请求并用响应响应它的对象。基本的 Servlet 包包含代表 servlet 请求和响应的Java对象,以及配置和执行环境信息。 Servlet 可以对任何形式的请求做出反应,尽管它们最常用于扩展 Web 服务器托管的应用程序。 Java对于此类应用程序,servlet 技术提供了特定于 HTTP 的 servlet 类。
让我们看看如何使用 servlet 技术将数据写入 PDF。这里简单地使用一个 servlet 来编写一些数据,然后将其显示为 PDF。作为本文的一部分,创建了一个将数据输出到 PDF 文件的应用程序。
Here NetBeans IDE is used for creating this demo application.
为了创建应用程序,需要以下文件:
- HTML 文件——该文件包含一个指向显示我们的 PDF 材料的 servlet 的 URL。
- Servlet 文件- 此文件将数据保存为 PDF 文件,并通知服务器它是 PDF 文件类型。
- web.xml – 用于设置 servlet 文件。服务器从这个 XML 文件接收 servlet 信息。
执行:
让我们开始构建这个应用程序。
第 1 步:第一步是打开 NetBeans IDE 并创建一个新项目。
步骤 2:现在选择“Java web”->“Web 应用程序”,如下图所示。
第 3 步:将项目命名如下。
第 4 步:选择版本和服务器向导,然后单击完成。
第 5 步:现在复制下面提供的 index.html 中的代码。
HTML
Write Data into Pdf using Servlet
Click on Below Link to Get your PDF
Click Here
Java
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());
}
}
}
XML
DownloadPdf
DownloadPdf
DownloadPdf
/DownloadPdf
30
第 6 步:下载“itextpdf.jar”文件并将其添加到您的项目库中。
第 7 步:现在创建一个名为“DownloadPdf”的 servlet,并将提供的代码复制到其中。
例子
Java
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
DownloadPdf
DownloadPdf
DownloadPdf
/DownloadPdf
30
第 9 步:项目已准备好运行,应用程序的输出如下所示。
第 10 步:点击链接后,将开始下载 pdf 文件。
第 11 步:下载的文件显示如下所示的输出。