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

QuickReport Discussion :

[QuickReport 3.6.2] Sauvegarde d'un fichier QRP chargé Vers un Autre Format


Sujet :

QuickReport

  1. #1
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 029
    Points : 40 928
    Points
    40 928
    Billets dans le blog
    62
    Par défaut [QuickReport 3.6.2] Sauvegarde d'un fichier QRP chargé Vers un Autre Format
    Par force des choses , j'ai été obligé de créer (modifier serait plus correct) une prévisualisation de mes états QRP.

    je voudrais maintenant ajouté une sauvegarde sous un format différent (RTF ,WMF,... voir même PDF ) mais là je plante .

    voilà mon code , pomper directement de chez QSoft
    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
    27
    28
    29
    procedure TfrmNetScapePreview.btnSaveClick(Sender: TObject);
    var
      aExportFilter : TQRExportFilter;
    begin
      aExportFilter := nil;
      with TSaveDialog.Create(Application) do
      try
        Title := 'Sauvegarder Etat';
        Filter := QRExportFilterLibrary.SaveDialogFilterString;
        DefaultExt := cQRPDefaultExt;
        if Execute then
        begin
          if FilterIndex = 1 then
            QRPrinter.Save(Filename) // ceci fonctionne mais ne sert pas à grand chose
          else
          begin
            try
              aExportFilter := TQRExportFilterLibraryEntry(
                QRExportFilterLibrary.Filters[FilterIndex - 2]).ExportFilterClass.Create(Filename);
              QRPrinter.ExportToFilter(aExportFilter);
            finally
              aExportFilter.Free
            end
          end
        end;
      finally
        Free;
      end;
    end;
    le dialogue de sauvegarde fonctionne ,mais rien ne se passe ,j'ai essayé en rajoutant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    aExportFilter.OriginalQRPrinter:=QrPrinter; // ceci ne donne rien de plus
    Attention , je parle bien d'un fichier QRP chargé et non d'un état généré par le programme (dans ce cas ça à l'air de fonctionner) , une idée ?
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 029
    Points : 40 928
    Points
    40 928
    Billets dans le blog
    62
    Par défaut Solution pour transfert vers PDF
    Voici ma démarche . Après avoir lu quelque part que la prévisualisation d'un quickreport utilisait des Metafile(s) , un par page il ne ne restait plus qu'a charger ce Fichier et l'envoyer dans un fichier PDF.

    Créer un fichier PDF et pouvoir l'utiliser n'a pas été simple jusqu'a ce que je découvre le composant de Nishita's PDF Creation VCL (TNPDF) .
    ici

    Légèrement transformé , pour ne plus être un composant, mais une unité contenant l'objet TPrintPDF.

    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    procedure TfrmNetScapePreview.btnSaveClick(Sender: TObject);
    var
      PPDF : TPrintPDF; // création d''un fichier PDF
      MF : TMetaFile;
      B : TBitmap;         // récupération du metaFile pour manipulations 
      FileExt : string;
      I : integer;
    begin
      with TSaveDialog.Create(Application) do
      try
        Title := 'Sauvegarde PDF';
        Filter := 'Fichiers Adobe PDF (*.pdf)|*.PDF';
        FileName := QRPreview1.QRPrinter.Title;
        if Execute then begin
           if pos('.',FileName) > 0 then
              FileName := Copy(FileName, 1, pos('.',FileName)-1)+'.pdf'
           else FileName := FileName+'.pdf';
           FileExt := FileName;
          PPDF := TPrintPDF.Create(Self);
          PPDF.FileName := FileName;
          PPDF.BeginDoc;
          for i := 1 to QRPrinter.PageCount do begin
            B := TBitmap.Create;
            B.PixelFormat := pf24bit;
            MF := QRPrinter.GetPage(i);
            B.Width := MF.Width;
            B.Height := MF.Height;
            B.Canvas.Draw(0,0,MF);
            PPDF.DrawJPEG(52,0,B); // JPEG
            if (i <> QRPrinter.PageCount) then
              PPDF.NewPage;
            B.Free;
          end;
          PPDF.EndDoc;
          PPDF.Free;
        end;
      finally
        Free;
      end;
    end;
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2011
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2011
    Messages : 63
    Points : 44
    Points
    44
    Par défaut
    Bonjour, pardonnez mon ignorance mais j'ai télécharger TNPDF, mais je n'ai pas su l'intégrer, il faut le décompresser dans le répertoire "Source" ?

  4. #4
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 029
    Points : 40 928
    Points
    40 928
    Billets dans le blog
    62
    Par défaut
    bonjour ,

    Il suffit d'ajouter l'unité au projet.

    en PJ , le source d'un programme (D3) , il manque juste l'unité About.pas
    Fichiers attachés Fichiers attachés
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  5. #5
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2011
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2011
    Messages : 63
    Points : 44
    Points
    44
    Par défaut
    J'ai saisi, merci à vous.

  6. #6
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2008
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2008
    Messages : 73
    Points : 70
    Points
    70
    Par défaut
    Bonjour,
    Peut on l'utiliser avec Borland Builder C++ 6 ?
    Si oui comment ?
    Estce qu'il y a un de convertir le fichier de quickreport.qrp en pdf ?
    Merci pour votre aide
    Cordialement

  7. #7
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 029
    Points : 40 928
    Points
    40 928
    Billets dans le blog
    62
    Par défaut
    Citation Envoyé par tonton67 Voir le message
    Peut on l'utiliser avec Borland Builder C++ 6 ?
    Il faudrait trouver le composant Nishita's PDF Creation VCL (TNPDF) mais en C++ , déjà que celui-ci n'est plus accessible pour Delphi je doute

    Est-ce qu'il y a un de convertir le fichier de quickreport.qrp en pdf ?
    Vous vouliez écrire un convertisseur ? Je peux toujours vous fournir l'exécutable (toujours utilisé) dont les sources ont été joint dans la discussion si vous me fournissez votre adresse mail par MP
    Cependant sachez que cette solution n'a pas une qualité de PDF exceptionnelle, beaucoup d'eau ayant coulé sous les ponts depuis les normes du PDF ont beaucoup évoluées
    Cela fait quand même plus de 11 ans !!!
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Script qui sauvegarde l'ftp et l'envoie ver une autre ftp
    Par DolomatS dans le forum Webmarketing
    Réponses: 4
    Dernier message: 29/01/2013, 23h48
  2. Réponses: 1
    Dernier message: 21/02/2011, 22h40
  3. Réponses: 5
    Dernier message: 19/11/2008, 22h26
  4. Date de sauvegarde d'un fichier
    Par FEF dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 21/02/2005, 09h04
  5. [JList] Lecture des données sauvegardées dans un fichier
    Par Myogtha dans le forum Composants
    Réponses: 7
    Dernier message: 10/06/2004, 21h05

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