Forum: Rails France lire un fichier pdf

Posted by Zied (Guest)
on 2009-06-25 12:15
(Received via mailing list)
Salut,

j'ai créé un bouton et je veux bien que son role soit d'ouvrir un
fichier pdf déjà existant..
J'ai cherché dans le net et j'ai essayé pdf-reader..

J'ai créé un bouton qui exécute l'action lirepdf ci-dessous:

require 'rubygems'
require 'pdf/reader'

 def lirepdf
    receiver = PDF::Reader::RegisterReceiver.new
    docPdf = PDF::Reader.file("app/reports/output/rapport_final.pdf",
receiver)
  end

et j'ai créé une vue lirepdf

En cliquant sur le bouton, ça pointe sur la vue lirepdf déjà vide..
Donc j'ai pas pu ni lire ni ouvrir mon fichier pdf.. qqun a une idée?

Merci d'avance
Posted by Tranquiliste (Guest)
on 2009-06-25 14:06
(Received via mailing list)
Je ne suis pas sur de bien comprendre, mais si tu veux que ton
utilisateur lise un pdf qui se trouve sur le serveur un link_to avec
le chemin vers ce pdf marche et le navigateur automatiquement te
propose de l'ouvrir ou de l'enregistrer, du style

<%= link_to("Lire","/documents/fichier.pd") %>
Le répertoire document dans cet exemple se trouve dans le répertoire
public.

Après pour uploader des fichiers tu as des plugins style paperclip ou
attahcment_fu

Nicolas
Posted by Michel Belleville (Guest)
on 2009-06-25 14:34
(Received via mailing list)
Oui pour uploader des fichiers tu as un plugin : paperclip

Et aussi il y a une usine à gaz illisible qui sait parler avec amazon S3 
:
attachment_fu

Michel Belleville


2009/6/25 Tranquiliste <nicolas.aguttes@googlemail.com>
Posted by Zied (Guest)
on 2009-06-25 16:39
(Received via mailing list)
@tranquiliste: merci pour ce coup de main

Mais je cherche à appuyer sur un bouton qui permet d'exécuter une
action dont cette dernière a pour role de visualiser le fichier pdf..

Cad

bouton présent dans la vue (appuyé)----> exécute une action  dans le
controlleur --> cet action a pour role de faire visualiser le fichier
pdf

Merci d'avance :)
Posted by Michel Belleville (Guest)
on 2009-06-25 17:19
(Received via mailing list)
Ok. Apparemment, le terme "visualiser" a pour toi un sens bien 
spécifique.
Là on avait cru comprendre : "laisser la navigateur du client récupérer 
le
document pdf et en faire ce qu'il veut, le sauvegarder ou le donner à 
manger
à un programme de visualisation du client", parce que je doute que le 
but ce
soit de lancer sur ton serveur un programme qui affichera sur l'écran du
serveur situé loin de la machine client une vue du document pdf. En 
gros, il
n'y a qu'un moyen pour le client de "visualiser" un fichier du serveur : 
le
lui fournir. Maintenant, on peut le servir de plusieurs façons.

   1. activer un module (en flash, en applet java, etc.) permettant de
   visualiser le PDF à même la fenêtre du navigateur, et lui faire 
passer ledit
   pdf (au final, on va toujours en revenir là)
   2. envoyer via une action d'un contrôleur le document de façon à 
activer
   un module de protection, ou de comptage des téléchargements, etc
   3. juste envoyer le pdf au client comme expliqué précédemment et le
   laisser se débrouiller avec

Solutions :

   1. ça nécessite d'avoir un plugin / applet / flash adapté, d'avoir un
   moyen de lui faire passer le fichier pdf (en général de la même façon 
qu'au
   navigateur client), perso je ne sais pas faire (et si je tombe sur un 
site
   web qui fait ça je vais chercher ailleurs les informations, j'ai un 
très bon
   programme pour visualiser les PDFs sur ma machine, merci beaucoup 
gardez
   votre flash que je ne saurais voir)
   2. dans le contrôleur :
   # ton code de vérification, logging, etc...
   render :file => '/sur/ton/serveur/chemin/vers/le/fichier.pdf'
   3. dans la vue :
   <%= link_to 'mon petit pdf',
   '/depuis/le/repertoire/public/chemin/vers/le/fichier.pdf' %>

Si tu voulais autre chose, précise...

Michel Belleville


2009/6/25 Zied <khzied@gmail.com>
Posted by Zied (Guest)
on 2009-06-25 17:20
(Received via mailing list)
c fait

il faut tt simplement utiliser la method "send_file" dans le
controlleur

send_file('app/reports/output/rapport_final.pdf', :type =>
'application/pdf', :disposition => 'inline')

:)
Posted by Florent Florent (Guest)
on 2009-06-25 17:20
(Received via mailing list)
Le 25 juin 2009 09:38, Zied <khzied@gmail.com> a écrit :

> pdf
Zied,

Si tu ne souhaites pas que l'ouverture du PDF soit gérée par le 
navigateur
(comme proposé par Tranquiliste) tu peux utiliser un widget type Smart 
Look
de Issuu http://issuu.com/smartlook
Je n'ai pas testé mais si j'ai bien compris il s'agit d'une sorte de
visionneuse on line de PDF.

Florent
Please log in before posting. Registration is free and takes only a minute.
Existing account (Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
No account? Register here.