2010-10-25 32 views
3

Je viens de télécharger les fichiers jar xhtmlrenderer et iText. Je peux faire des fichiers pdf en utilisant ces pots. Ce que je veux exactement est: Je dois créer pdf si je donne une URL valide (disons "https://xhtmlrenderer.dev.java.net/news.html") à la place de "inputFile". Est-ce possible avec une soucoupe volante et iText?Comment convertir l'URL de la page html en pdf en java en utilisant iText & soucoupe volante?

Si oui, merci de me guider pour y parvenir.

Aussi, quand je suis en train d'exécuter le code ci-dessous, j'obtiens l'erreur: flux fermé

import java.io.*; 
import com.lowagie.text.DocumentException; 
import org.xhtmlrenderer.pdf.ITextRenderer; 

public class FirstDoc { 

    public static void main(String[] args) 
      throws IOException, DocumentException { 
     String inputFile = "samples/sql.html"; 
     String url = new File(inputFile).toURI().toURL().toString(); 
     String outputFile = "firstdoc.pdf"; 
     OutputStream os = new FileOutputStream(outputFile); 

     ITextRenderer renderer = new ITextRenderer(); 
     renderer.setDocument(url); 
     renderer.layout(); 
     renderer.createPDF(os); 

     os.close(); 
    } 
} 
+0

Votre code contient 'com.lowagie'. C'est une version ancienne d'iText. Veuillez utiliser 'com.itextpdf' iText. –

Répondre

0

Oui ... ce ne fonctionnera probablement pas la page demandée est pas xhtml mais cela devrait faire l'affaire:

import java.io.*; 
import com.lowagie.text.DocumentException; 
import org.xhtmlrenderer.pdf.ITextRenderer; 

public class FirstDoc { 

public static void main(String[] args) 
     throws IOException, DocumentException { 
    String url= "http://xhtmlrenderer.java.net/news.html"; 

    String outputFile = "firstdoc.pdf"; 
    OutputStream os = new FileOutputStream(outputFile); 

    ITextRenderer renderer = new ITextRenderer(); 
    renderer.setDocument(url); 
    renderer.layout(); 
    renderer.createPDF(os); 

    os.close(); 
} 
} 

le flux fermé erreur se produit lorsque le fichier que vous demandez est introuvable. Le dossier 'samples' doit exister dans le projet dans votre espace de travail ou là où vous exécutez votre application.

+0

Mon HTML contient «&» entre les deux textes. Comment gérer cela –

+0

Je vous suggère de créer une nouvelle question – Edd