2012-09-25 37 views
3

我試圖在與谷歌應用程序引擎的Java創建的PDF,但它並沒有工作:iText的工作谷歌應用程序引擎

@SuppressWarnings("serial") 
public class GuestbookServlet extends HttpServlet { 
    public void doGet(HttpServletRequest req, HttpServletResponse resp) 
      throws IOException { 
     resp.setContentType("application/pdf"); 
      try { 
       Document document = new Document(); 
       PdfWriter.getInstance(document, new FileOutputStream("HelloWorld.pdf")); 
       document.open(); 
       document.add(new Paragraph("Hello World")); 
       document.close(); 
      } catch (DocumentException e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
      } 
    } 
} 

這是錯誤:

HTTP ERROR 500 

Problem accessing /guestbook. Reason: 

    com/itextpdf/text/DocumentException 
Caused by: 

java.lang.NoClassDefFoundError: com/itextpdf/text/DocumentException 

我已閱讀與谷歌appengine與java.awt和java.nio不兼容。但我不知道該怎麼做。是否有任何特殊版本的itext谷歌應用程序引擎?或者你知道任何可以幫助我的線索嗎?

回答

1

是的,有一個GAE版本的iText。請參閱http://lowagie.com/iPadSchools觀看演示。 GAE端口由iText Software分發。沒有鏈接可以上網。

+0

這是什麼意思?我在http://itextpdf.com找不到它? – Anna

+0

這意味着它只能通過填寫itextpdf.com上的銷售表單才能獲得。 –

+0

再次您好!我填寫了銷售表格,他們說我可以在這裏下載測試:http://itextpdf.com/download.php正常版本,因爲如果沒有證明iText使用GAE有正確的解決方案,我無法購買許可證。我可以做它嗎? – Anna

1
package mx.gob.campeche.sit.web.reportes; 

import java.io.IOException; 
import java.io.OutputStream; 

import javax.inject.Inject; 
import javax.servlet.ServletException; 
import javax.servlet.annotation.WebServlet; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletRequestWrapper; 
import javax.servlet.http.HttpServletResponse; 

import mx.gob.campeche.sit.doc.recibo_oficial.ReciboOficial; 
@WebServlet("/reciboOficial") 
public class ReporteReciboOficialServlet extends HttpServlet { 

    @Inject 
    ReciboOficial reciboOficial; 

    /** 
    * 
    */ 
    private static final long serialVersionUID = 1L; 

    @Override 
    protected void doGet(HttpServletRequest request, HttpServletResponse response) 
      throws ServletException, IOException { 
     HttpServletRequestWrapper srw = new HttpServletRequestWrapper(request); 
     String folio = ""; 

     if (request.getParameterMap().containsKey("folio")) { 
       folio = request.getParameter("folio"); 
       System.out.println("contenido" + folio); 
      }else 
     if (request.getParameterMap().containsKey("numero")) { 
       folio = request.getParameter("numero"); 
       System.out.println("contenido" + folio); 
      }else{ 
       throw new ServletException("No ingreso parametro"); 
      } 


     byte[] pdfData = reciboOficial.crearReciboOFicialCajas(folio, srw.getRealPath("")); 

     response.setContentType("application/pdf"); 
     response.reset(); 
     response.setContentType("application/pdf"); 
     response.setHeader("Content-disposition", "inline; filename=\"" +"samplePDF2.pdf" +"\""); 

     OutputStream output = response.getOutputStream(); 
     output.write(pdfData); 
     output.close(); 

    } 
this is small example, this help