DownloadTrainingPlanServlet.java
package it.unisa.c03.myPersonalTrainer.trainingplan.control;
import java.io.ByteArrayOutputStream;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
import java.io.IOException;
import com.itextpdf.text.*;
import com.itextpdf.text.pdf.PdfWriter;
/**
* this class enable to download a training plan in pdf.
*/
@WebServlet(name = "DownloadSchedaServlet", value = "/DownloadSchedaServlet")
public class DownloadTrainingPlanServlet extends HttpServlet {
private Document doc;
@Override
protected void doPost(HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException {
String date = request.getParameter("date");
String emailCliente = (String)
request.getSession().getAttribute("clienteMail");
String exercises = request.getParameter("exercises");
try {
doc = new Document();
ByteArrayOutputStream baos =
new ByteArrayOutputStream();
PdfWriter.getInstance(doc, baos);
doc.open();
String filename = "https://github.com/imgios/mypersonaltrainer/blob"
+ "/develop/src/main/webapp/img/logo_fattura.png?raw=true";
Image image = Image.getInstance(filename);
image.setAlignment(Element.ALIGN_CENTER);
doc.add(image);
Paragraph p = new Paragraph(
"Scheda di allenamento assegnata il " + date);
p.setAlignment(Element.ALIGN_CENTER);
doc.add(p);
p = new Paragraph(
"Al cliente " + emailCliente);
p.setAlignment(Element.ALIGN_CENTER);
doc.add(p);
doc.add(new Paragraph(" "));
p = new Paragraph(
"La tua Scheda\n " + exercises);
p.setAlignment(Element.ALIGN_CENTER);
doc.add(p);
p = new Paragraph(
"\nBUON LAVORO!");
p.setAlignment(Element.ALIGN_RIGHT);
doc.add(p);
doc.close();
response.setHeader(
"Expires", "0");
response.setHeader(
"Cache-Control", "must-revalidate, post-check=0, pre-check=0");
response.setHeader(
"Pragma", "public");
response.setContentType("application/pdf");
response.setContentLength(baos.size());
ServletOutputStream out =
response.getOutputStream();
baos.writeTo(out);
out.flush();
out.close();
} catch (DocumentException e) {
e.printStackTrace();
}
}
@Override
protected void doGet(
HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
}
}