IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Delphi Discussion :

Affichage pdf via un Blob sans création de fichier


Sujet :

Langage Delphi

  1. #1
    Candidat au Club
    Inscrit en
    Juillet 2006
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 4
    Points : 3
    Points
    3
    Par défaut Affichage pdf via un Blob sans création de fichier
    Bonjour,

    je travaille en Dephi2006 avec les composants ODAC, sur une base Oracle 10g.

    Sur ma base, j'ai une table qui contient une colonne BLOB dans laquelle se trouve des fichiers au format PDF.

    Dans mon appli, via une procédure stockée, je récupère mon blob dans une variable de type ToraLob.
    Le problème que j'ai, c'est qu'ensuite je dois afficher le pdf contenu dans le blob, dans mon appli, mais sans passer par une sauvegarde du pdf sur le disque dur....
    J'ai essayer de mettre le blob dans des objets comme DbImage, TRichEdit, DBMemo ou encore DBRichEdit, mais rien ne fonctionne, soit l'objet ne prend pas ce type de blob (pdf), soit il affiche le blob sous forme de caractères illisibles...

    Quelqu'un aurait-il une idée pour afficher le pdf contenu dans une variable BLOB dans un objet à l'écran ?

    Merci d'avance

  2. #2
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 435
    Points : 5 848
    Points
    5 848
    Par défaut
    salut

    tu peut utilise les stream avec oleContainer

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Olecontainer1.LoadFromStream(vStream);
    @+ Phil

  3. #3
    Candidat au Club
    Inscrit en
    Juillet 2006
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Merci, mais avec le Olecontainer, j'ai l'erreur "Invalid Class Typecast" lors de la création du vStream...

    Voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
    var
        vStream: TMemoryStream;
     
    begin
     
      // SmartQuery1 est un select * sur une table dans laquelle la colonne PIC est un BLOB.
      SmartQuery1.Open;
      SmartQuery1.Execute;
     
      try
        vStream := TADOBlobStream.Create(TBlobField(Smartquery1.FieldByName('PIC')), bmread);
     
        if (OleContainer1.State = osOpen) or (OleContainer1.State = osUIActive) then
        begin
          OleContainer1.DestroyObject;
        end;
        vStream.Position := 0;
        Olecontainer1.LoadFromStream(vStream);
     
      Except
        on E : Exception do
        begin
          MessageDlg('Erreur Fichier Aff_Rap.pas, proc ''LitRapport'' : ' + E.Message,mtError,[mbYes], 0);
        end;
      end;

    Ou l'erreur "Invalid Stream Format" avec la méthode suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    begin
     
      // SmartQuery1 est un select * sur une table dans laquelle la colonne PIC est un BLOB.
      SmartQuery1.Open;
      SmartQuery1.Execute;
     
        vStream :=TMemoryStream.Create;
        TBlobField(Smartquery1.FieldByName('PIC')).savetoStream(vStream);
        vStream.position:=0;
        Olecontainer1.LoadFromStream(vStream);
    end;

Discussions similaires

  1. [XL-2003] Gestion de fichier: Création d'un PDF via PDFCreator
    Par Tweelight dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 11/08/2011, 15h22
  2. Création de .dll via un .sln sans Intel Visual Fortran
    Par Olivier.D dans le forum Fortran
    Réponses: 3
    Dernier message: 10/06/2010, 12h23
  3. Récupération des données d'un blob sans affichage
    Par soleil05 dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 11/03/2010, 17h43
  4. Nom du PDF via BLOB
    Par benjisan dans le forum JDBC
    Réponses: 0
    Dernier message: 24/04/2009, 09h41
  5. Vitesse de création de PDF via PDFCreator
    Par AndréPe dans le forum VBA Access
    Réponses: 1
    Dernier message: 03/10/2007, 13h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo