package controleur;
import Metier.Principale;
import Metier.Livre;
import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.PageSize;
import com.itextpdf.text.Paragraph;
import com.itextpdf.text.pdf.PdfWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
public class SauvegardePDF extends HttpServlet {
public static final String VUE_RECHERCHE = "/Recherche.jsp";
public static final String CHAMP_REPERTOIRE = "repertoire";
public static final String ATT_CRITERE = "critere";
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.getServletContext().getRequestDispatcher(this.VUE_RECHERCHE).forward( request, response );
}
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
try {
HttpSession session = request.getSession();
String nameFichier = request.getParameter(this.CHAMP_REPERTOIRE);
String critere = (String) session.getAttribute(this.ATT_CRITERE);
ArrayList<Livre> livres = new ArrayList<>();
livres = (ArrayList<Livre>) session.getAttribute("lastRecherche");
Principale controleur = Metier.MetierFactory.getPrincipale();
Document myPDF = new Document(PageSize.A4, 50, 50, 50, 50);
response.setHeader("Content-Disposition", "attachment; filename=\"" + nameFichier + "\"");
PdfWriter pdfWriter = PdfWriter.getInstance(myPDF, response.getOutputStream());
myPDF.open();
Paragraph paragraph = controleur.imprimerRecherche(livres, critere);
myPDF.add(paragraph);
myPDF.close();
response.getOutputStream().close();
this.getServletContext().getRequestDispatcher(this.VUE_RECHERCHE).forward( request, response );
} catch (DocumentException ex) {
Logger.getLogger(SauvegardePDF.class.getName()).log(Level.SEVERE, null, ex);
}
}
@Override
public String getServletInfo() {
return "Short description";
}// </editor-fold>
}