/** * Qoppa Software - Source Code Sample */ package jPDFWriterSamples; import java.awt.Graphics2D; import java.awt.print.PageFormat; import java.awt.print.Paper; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.qoppa.pdfWriter.PDFDocument; import com.qoppa.pdfWriter.PDFPage; public class ServletSample extends HttpServlet { /** * @see javax.servlet.http.HttpServlet#void (javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) */ public void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { generatePDF(req, resp); } /** * @see javax.servlet.http.HttpServlet#void (javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) */ public void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { generatePDF(req, resp); } private void generatePDF (HttpServletRequest req, HttpServletResponse res) throws IOException, ServletException { // Get servlet output stream ServletOutputStream sOut = res.getOutputStream(); res.setContentType( "application/pdf" ); res.setHeader("Content-disposition", "attachment; filename=" + "report.pdf" ); // Create pageformat for the document PageFormat pf = new PageFormat(); Paper paper = new Paper (); paper.setSize(72 * 8.5, 72 * 11.0); pf.setOrientation(PageFormat.LANDSCAPE); pf.setPaper(paper); // Create a document and a page in the document PDFDocument pdfDoc = new PDFDocument (); PDFPage newPage = pdfDoc.createPage(pf); // Draw to the page Graphics2D g2d = newPage.createGraphics(); g2d.drawString("This is a PDF document created from a servlet", 100, 100); // Add the page to the document pdfDoc.addPage(newPage); // Save the document to the servlet output stream. This goes directly to the browser pdfDoc.saveDocument(sOut); // Close the server output stream sOut.close(); } }