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

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    avril 2002
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : avril 2002
    Messages : 6
    Points : 7
    Points
    7

    Par défaut [C#] Exportation de Report Crystal Reports vers PDF

    Bonjour,

    J'aurais besoin de savoir s'il est possible de générer plusieurs éléments dans un fichier PDF à partir de .NET et plus particulièrement des Reports Crystal reports.

    Mon but est de pouvoir créer un seul fichier PDF avec une exportation de plusieurs reports vers ce fichier PDF.

    Si vous avez déjà effectué ce type de manipulation, auriez-vous la gentillesse de m'expliquer comment et avec quelle version de Crystal Reports.

    Bien à vous et merci.

    Frédérick

  2. #2
    Membre du Club
    Inscrit en
    décembre 2003
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : décembre 2003
    Messages : 56
    Points : 64
    Points
    64

    Par défaut

    Bonjour,
    je pense que la seule solution à ton problème est de créer un nouveau rapport, et d'y insérer tes rapports en tant que sous-rapports... Du coup à l'exportation tu auras bien un seul PDF.
    Bon courage !

  3. #3
    Membre averti Avatar de guignol
    Inscrit en
    mai 2002
    Messages
    309
    Détails du profil
    Informations forums :
    Inscription : mai 2002
    Messages : 309
    Points : 339
    Points
    339

    Par défaut

    Voici le code pour exporter 1 report en PDF => il suffit de lire les reports à la suite pour faire fonctionner l'ensemble.


    Version VB.NET réalisée par mes soins
    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
    Imports System
    Imports System.IO
    Imports System.Text
    Imports CrystalDecisions.CrystalReports.Engine
    Imports CrystalDecisions.Shared
    Imports CrystalDecisions.CrystalReports
    Public Class CrystalReportTool
        'Clear all output buffers
        'Friend ReadOnly instance As New CrystalReportTool
        Public Sub exporterFluxPdf(ByRef response As HttpResponse, ByVal rpTemp As ReportDocument, ByVal nomfic As String)
     
            response.ClearHeaders()
            response.ClearContent()
            response.Clear()
     
            response.ContentType = "application/pdf"
            response.AddHeader("Content-Disposition", "attachment; filename=" & nomfic & ".pdf")
            Dim oStream As MemoryStream
     
            oStream = rpTemp.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat)
            response.Buffer = True
            response.BinaryWrite(oStream.ToArray())
            response.End()
        End Sub
     
     
    End Class


    et une version C# développée par un collègue :
    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
    	public static void exporterFluxPdf(System.Web.HttpResponse response, CrystalDecisions.CrystalReports.Engine.ReportDocument rpTemp)
    		{
    			// Clear all output buffers
    			response.ClearHeaders();
    			response.ClearContent();
    			ExportOptions expOptions = rpTemp.ExportOptions;
    			// Output is pdf
    			response.ContentType = "application/pdf";
    			// Force save popup in IE
    			//Response.AddHeader("Content-Disposition", "attachment; filename=test.pdf" );
    			expOptions.ExportFormatType = ExportFormatType.PortableDocFormat;
    			// Do the print to "prepare" the content
    			// If omitted the export process takes much longer time
    			//rptReport1.PrintToPrinter(1, false, 0, 0); 
    			ExportRequestContext req = new ExportRequestContext();
    			req.ExportInfo = expOptions;
    			// Get the export stream
    			System.IO.MemoryStream s = (System.IO.MemoryStream)rpTemp.FormatEngine.ExportToStream(req);
    			System.IO.Stream outstream = response.OutputStream;
    			byte[] readBuf = new byte[4096];
    			int bytes = 0;
    			do
    			{
    				bytes = s.Read( readBuf, 0, readBuf.Length );
    				outstream.Write( readBuf, 0, bytes );
    			}
    			while( bytes > 0 ); 
    			response.End();
    		}
    en gros tu récupère un flux d'octets de chacun des documents et tu le "crache" sur la sortie.
    - Fais une recherche, c'est un conseil. Si je me mets à t'aider, tu vas pas t'en sortir

    - "Même avec les yeux grands ouverts, je n'y vois rien".

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

Discussions similaires

  1. Export un etat crystal report sous format CSV
    Par stiph_112 dans le forum SAGE
    Réponses: 4
    Dernier message: 10/11/2014, 13h37
  2. [Débutant] Exportation des Table Layout Panel vers PDF- VB .NET
    Par Aiman.elmachi dans le forum VB.NET
    Réponses: 0
    Dernier message: 12/06/2014, 12h26
  3. Reporting Crystal Report [bis]
    Par alexking2005 dans le forum Général Dotnet
    Réponses: 4
    Dernier message: 08/01/2008, 18h44
  4. Crystal report et reporting services
    Par alpachico dans le forum SAP Crystal Reports
    Réponses: 5
    Dernier message: 15/01/2007, 18h46
  5. Migration Crystal Report 8.x vers XI
    Par lacitrouille dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 23/10/2006, 19h15

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