Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    324

    creazione pdf - problemi con style

    Ciao a tutti,

    apro questa discussione perchè sono abbastanza disperato e da come dice il titolo, ho un grosso problema con la creazione di un pdf.
    Mi spiego meglio, ho una servlet che attraverso ad essa gli passo dei parametri e mi creo la pagina html, che in seguito viene convertita in pdf tramite la classe "HTMLWORKER" che ha il metodo "parse" o "parseToList".
    Per chi non sapesse cosa fanno, il primo converte un oggetto di tipo Reader in pdf, la stessa cosa lo fa anche "parseToList" con la differenza che in più prendere altri parametri in entrata.
    Fino a qui tutto molto semplice, solo che il mio problema e che non riesco, dopo aver fatto mille ricerche e tentativi, a dare lo style al mio pdf. Nel senso che se stampo a video la pagina html gli style assegnati funzionano, ma al momento della conversione sembra che questi style vengano perdersi.

    Mi sapreste dire come mai? Avete uan soluzione a cio...

    Grazie anticipatamente.

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    324
    Ho risolto il mio problema.... Dopo un po di sbattimento ci sono riuscito.... adesso vi posto il codice cosi nel caso dovesse servire a qualcuno ha un esempio.

    PS: il codice postato è sviluppato per creare un curriculum vitae in formato pdf.

    codice:
    File file = new File("path"+nomeFile+.pdf"); 			 			
    
    response.setContentType("application/octet-stream; name=\"" + file.getName() + "\""); 			
    response.setCharacterEncoding("UTF-8"); 			
    response.addHeader("content-disposition", "attachment; filename=\"" + file.getName() + "\""); 			 			
    String str = ""; 			 			
    
    Document doc = new Document(PageSize.A4, 10, 10, 10,
    40);
    
    boolean titoloEsperienze = false; 		
    try {
    	
    PdfWriter pdfWriter = PdfWriter.getInstance(doc, new
    FileOutputStream(file));
    
    HTMLWorker htmlWorker = new HTMLWorker(doc);
    
    doc.open();
    
    for(int x = 0; x < curriculumVitae.size();
    x++){
    
          // creazione pagina html 							
          str +=  "nella stringa dovrete crearvi la vostra tabella"  				
    
    StyleSheet styleSheet = new StyleSheet();
     //styleSheet.loadTagStyle("table", "border", "1"); 				
    
    ArrayList lista = (ArrayList) htmlWorker.parseToList(new StringReader(str), styleSheet); 				 				
    
    //mi creo la tabella che servira a contenere le varie celle 				
    PdfPTable disegnaTabella = new PdfPTable(2); 				disegnaTabella.setWidthPercentage(100); 				
    float[] columnWidths = {60, 120};
    disegnaTabella.setWidths(columnWidths); 				 				
    
    //mi faccio restituire il risultato della conversione da Html a PDF 				
    PdfPTable tabella = (PdfPTable) lista.get(0); 				 				
    
    //mi faccio restituire le righe presenti nella Tabella 				
    ArrayList listaRows = (ArrayList)tabella.getRows();
    
    //ciclo le righe 				
    for(int y = 0; y < listaRows.size(); y++){
    //recupero la singola riga
    PdfPRow row = (PdfPRow)listaRows.get(y);
    
    //recupero le varie celle prensenti nella riga
    PdfPCell[] celle  = (PdfPCell[]) row.getCells(); 
    PdfPCell cellaSinistra = new PdfPCell(celle[0]); 					cellaSinistra.setPaddingRight(5); 					disegnaTabella.addCell(cellaSinistra);
    
    PdfPCell cellaDestra = new PdfPCell(celle[1]); 					cellaDestra.setPaddingLeft(5); 					cellaDestra.setBorderWidthLeft(1); 					disegnaTabella.addCell(cellaDestra);
       }
    }
    
    doc.add(disegnaTabella);
    doc.close();
    FileInputStream fileInputStream = new FileInputStream(file); 				ServletOutputStream out = response.getOutputStream(); 				
    int i; 				
    while ((i=fileInputStream.read()) != -1)
               out.write(i);
    fileInputStream.close();
    out.close();
    
    boolean fileCancellato= new File("path"+ nomeFile +".pdf").delete(); 				System.out.println("esito della cancellazione del file: " + fileCancellato);

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.