begin process at 2010 03 22 01:42:10
  Trouver un code source :
 
dans
 
Accueil > Forum > 

JAVA / J2EE / J2ME

 > 

Réseau & internet

 > 

JavaServerPage (JSP)

 > 

Lire fichier PDF


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Lire fichier PDF

vendredi 22 juin 2007 à 09:11:50 | Lire fichier PDF

leviz

Bonjour,

Voilà mon porblème:
Je dispose d'un tableau dans lequel j'affiche des liens vers des fichiers PDF stocker sur mon serveur. Je cherche à lire le flux du fichier et à l'afficher dans une nouvelle page. Mon problème est que j'arrive à lire le flux mais il m'affiche n'importe quoi, une suite de texte incohérente.

Voici mon code :


File fileToRead = new File(realPath + "\\export\\" + request.getParameter("ID") + "." + request.getParameter("TYPE"));

String fileType = fileToRead.getName().substring(fileToRead.getName().indexOf(".")+1,fileToRead.getName().length());
                if (fileToRead.exists()) {
                    try {
                        BufferedInputStream in = new BufferedInputStream(new FileInputStream(fileToRead));
                        OutputStream s_out = response.getOutputStream();


                        response.setContentLength((int)fileToRead.length());

                        if (fileType.trim().equalsIgnoreCase("log")) {
                            response.setContentType( "text/plain" );
                        }else if (fileType.trim().equalsIgnoreCase("edi")) {
                            response.setContentType( "text/plain" );
                        }else if (fileType.trim().equalsIgnoreCase("pdf")) {
                            response.setContentType( "application/pdf" );
                        }else {
                            response.setContentType( "application/octet-stream" );
                        }

                        //response.addHeader("Content-disposition", "inline; filename=" + fileToRead.getName());

                        int count;
                        byte[] bytes = new byte[128];
                        while ((count = in.read(bytes, 0, bytes.length)) != -1) {
                            s_out.write(bytes, 0, count);
                            count = in.read(bytes, 0, bytes.length);
                        }
                        in.close();
                        s_out.flush();
                        s_out.close();
                    }
                    catch (Exception e) {
                        LogWriter.add("readFile.jsp", e);
                    }


Es-ce que quelqu'un voit si j'ai fait une faute ou s'il me manque quelque chose??

Merci
vendredi 22 juin 2007 à 12:03:09 | Re : Lire fichier PDF

leviz

Réponse acceptée !
Rebonjour

J'ai trouvé la solution pour mon problème :  au lieu de mettre un BufferedInputStream, il faut mettre un simple InputStream et ça marche!!!

Voici le code corrigé :

File fileToRead = new File(realPath + "\\export\\" + request.getParameter("ID") + "." + request.getParameter("TYPE"));

                String fileType = fileToRead.getName().substring(fileToRead.getName().indexOf(".")+1,fileToRead.getName().length());
                if (fileToRead.exists()) {
                    try {
                        FileInputStream in = new FileInputStream(fileToRead);
                        OutputStream s_out = response.getOutputStream();

                        if (fileType.trim().equalsIgnoreCase("log")) {
                            response.setContentType( "text/plain" );
                        }else if (fileType.trim().equalsIgnoreCase("edi")) {
                            response.setContentType( "text/plain" );
                        }else if (fileType.trim().equalsIgnoreCase("pdf")) {
                            response.setContentType( "application/pdf" );
                        }else {
                            response.setContentType( "application/octet-stream" );
                        }

                        response.setContentLength((int)fileToRead.length());
                        response.addHeader("Content-disposition", "attachment; filename=" + fileToRead.getName());
                        response.setHeader("Cache-Control", "no-cache");

                        int read;
                        byte[] bytes = new byte[1024];
                        while ((read = in.read(bytes, 0, bytes.length)) != -1) {
                            s_out.write(bytes, 0, read);
                        }

                        in.close();
                        s_out.flush();
                        s_out.close();
                    }
                    catch (FileNotFoundException e) {
                        LogWriter.add("readFile.jsp", e);
                        e.printStackTrace();
                    } catch (IOException e) {
                        LogWriter.add("readFile.jsp", e);
                        e.printStackTrace();
                    }

J'espère que cela pourra en aidé certain d'entre vous!!

A+
vendredi 28 mars 2008 à 09:55:53 | Re : Lire fichier PDF

infogeni2003

merci bcp pour cet exemple!
ca ma bien aider...

Abbesinfo


Cette discussion est classée dans : lire, pdf, bytes, response, filetoread


Répondre à ce message

Sujets en rapport avec ce message

Lire des bytes avec Scanner [ par FiReTiTi ] Bonjour,je lis un fichier comme ceci avec la classe scanner :DV10 10 108¿?*???ΪÍË|Órhufeilzhfuilehgfqdsuflheziaulfhlzuf&é"'(§è!çà)Je parviens à lire lire un pdf avec itext [ par lostsouldark ] bonjour,voila mon probleme, je voudrais arriver, simplement, a ouvrir et afficher un pdf dans un jeditorpane par exemple. pas pour le modifier, ni cre Lire le contenu d'un pdf (contenant un code barre) avec itext [ par byob ] Bonjour, j'ai utilisé la lib d'itext pour creer un pdf avec un code barre : Document document = this.barCode.getDocument();            PdfWriter write [HELP] lecture fichier binaire [ par gabule ] Bonjour, Je dois lire un fichier binaire. et le fichier biaire commence par une ligne. il me faut les donnees qu'il y a apres. Commen,t je fais pour s Lire un fichier PDF (J2Me) [ par megacoolx ] Bonjour J'aimerais savoir s'il est possible de lire un fichier pdf dans mon application codée en J2ME. Je suis actuellement entrain de développer une lire une valeur d'un jFram et l'afficher dans un autre jFram [ par huda2 ] bojour tous[^^happy10] comment obtenir une valeur entré dans un jTextField1 d'un jFram1 et afficher dans un jTextfield1 d'un autre jFram2. j'ai essa API java de conversion de RTF to PDF [ par yassino301 ] svp j veux une documentation bien détaillée sur une api java qui permet de convertir des fichiers RTF vers des fichiers PDF avec un exemple Merci. ouverture et fermeture d'un pdf avec java [ par goulvena29 ] Bonjour, J'ai un programme en java qui demande des donnees à l'utilisateur à l'aide de boite de dialogue et qui cree un pdf puis l'ouvre avec Acrobat lire un fichier word dans une application J2ee [ par simolordi ] Bonjour, je travail sur une application java j2ee, et j'ai une partie dans mon application ou il est demandé de lire des fichier de type Office(word, lire un jTextField dans une frame à partir d'une frame précédente [ par saharSR ] bjr, je voulais bien savoir comment lire un texte field à partir d'une frame précédente. merci


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,374 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales