Visualizzazione dei risultati da 1 a 7 su 7

Discussione: [Java-JSP] HTML->PDF

  1. #1

    [Java-JSP] HTML->PDF

    Ciao,
    sto lavorando con Servlets e JSP.
    Il mio progetto comprende anche delle ricerche fatte su un database, tramite a JSP creo HTML per mostrare questi risultati. A questo punto dovrei creare un PDF del HTML creato. Ho trovato iText, l'ho provato all'esterno del progetto e funziona bene.
    Il mio problema però: come faccio un PDF passando a iText un JSP da una servlet?
    Personalmente temo non si possa, credo che si debba trascrivere il JSP in una servlet, ed al posto di fare il rendering verso il classico "out", si debba fare su un file HTML, il quale poi andrebbe passato a iText....
    Che dite?

  2. #2
    io ho usato la stessa libreria.
    ho creato una classe apposita che serve per impostare il documento.
    poi da Servlet creo il file e come contenuto ci metto quello creato nella classe PDF (che prenderà i dati da db suppongo nel tuo caso).

  3. #3
    Ciao,
    ok ma ha scritto una servlet che mette assieme tutto pezzo per pezzo o sei riuscito a fare in modo che la servlet prendesse un JSP?

  4. #4
    in che senso "la servlet prendesse un JSP"??

  5. #5
    Utente di HTML.it L'avatar di Pastore12
    Registrato dal
    Oct 2008
    Messaggi
    1,051
    Intendi usare una jsp come template per il PDF?
    "Ethics are to me something private. Whenever you use it as an argument for why somebody_else should do something, you’re no longer being ethical, you’re just being a sanctimonious dick-head"
    Linus Torvalds

  6. #6
    Originariamente inviato da Pastore12
    Intendi usare una jsp come template per il PDF?
    Esatto. I file JSP li avrei già pronti...

    iTest prende anche dei file HTML finiti, e li converte in PDF. Pensavo (speravo) ci fosse un modo da dargli anche un JSP.

  7. #7
    Allora,
    per creare PDF da HTML (stringa) ho usato:

    codice:
    StringBuffer buffer = getHTMLinBuffer(consulenti, anUser);
    DocumentBuilder builder = DocumentBuilderFactory
    	.newInstance().newDocumentBuilder();
    Document doc = builder.parse(new ByteArrayInputStream(buffer.toString().getBytes("UTF-8")));
    ITextRenderer renderer = new ITextRenderer();
    renderer.setDocument(doc, null);
    String fileName = "listaConsulenti.pdf";
    String absolutePath = getServletContext().getRealPath("/");
    String tempPath = absolutePath + "temp/";
    File file = new File(tempPath, fileName);
    file.createNewFile();
    OutputStream os = new FileOutputStream(file);
    renderer.layout();
    renderer.createPDF(os);
    os.close();
    Ora però un piccolo problemino. Se volessi avere il PDF ruotato di 90°? Usando il org.w3c.dom.Document; non trovo il modo. Se invece uso il com.itextpdf.text.Document c'è il semplice metodo rotate(), ma questo Document non mi permette di fare il parsing di una stringa, ma solo di aggiungere componenti al DOM TREE.

    Consigli?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.