Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > Crystal Reports > SDK
SDK Forum sur l'utilisation de Crystal Reports par des API (VB, C++, Delphi, Java, etc.)
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
Vieux 18/08/2004, 10h20   #1
Invité de passage
 
Inscription: avril 2002
Messages: 6
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
Frédérick est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/08/2004, 10h41   #2
Nouveau membre du Club
 
Inscription: décembre 2003
Messages: 56
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 !
Moah est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/08/2004, 10h46   #3
Membre éclairé
 
Avatar de guignol
 
Inscription: mai 2002
Messages: 313
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 :
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 :
	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".
guignol est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h35.


Vos questions techniques : forum d'entraide Business Intelligence - Publiez vos articles, tutoriels et cours
et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones
Nous contacter - Hébergement - Participez - Copyright © 2000-2010 www.developpez.com - Legal informations.