Crystal report esportazione pdf

lunedì 28 luglio 2003 - 12.42

contiello Profilo | Senior Member

Salve e' il mio primo messaggio in questo forum spero possiate aiutarmi.
Anche io ho dei problemi con crystal report.
Sono riuscito a pubblicare un report sul mio sito web.
Ecco le limitazioni che ho riscontrato(puo' darsi che le limitazioni siano mie!):
1)Una volta lanciato il report appare il report in formato html.Se ho capito bene per avere la stampa vera e propria bisogna usare il pulsante di stampa di Internet Explorer.Immaginate pero' di avere una stampa di 10 pagine!!!
Se ho capito bene l'utente per stamparle tutte dovra' scorrere con la toolbar del report tutte le pagine e stamparle una alla volta.

Detto cio' ho pensato di esportare in pdf il report ho trovato un codice di esempio scaricato dal sito della casa madre di crystal report.
Il codice funziona fin quando non imposto i parametri di esportazione.
Il messaggio di errore e' il seguente:
Opzioni di esportazione non valide.
Descrizione: Eccezione non gestita durante l'esecuzione della richiesta Web corrente. Per ulteriori informazioni sull'errore e sul suo punto di origine nel codice, vedere l'analisi dello stack.

Dettagli eccezione: CrystalDecisions.CrystalReports.Engine.InvalidArgumentException: Opzioni di esportazione non valide.

Errore nel codice sorgente:


Riga 66:
Riga 67:
Riga 68: crReportDocument.Export()
Riga 69:
Riga 70:


Cerco aiuto perche' penso che l'errore non dipenda dal mio codice!
grazie
p.s. vi allego il codice per l'esportazione


Dim crReportDocument As New CrystalDecisions.CrystalReports.Engine.ReportDocument()

Dim crExportOptions As CrystalDecisions.Shared.ExportOptions
Dim pathorigine As String
pathorigine = Server.MapPath("\webapplication5\")

Dim pathreport As String
pathreport = pathorigine & "Crystalreport1.rpt"
crReportDocument.Load(pathreport)
crExportOptions = crReportDocument.ExportOptions
crExportOptions.ExportFormatType = CrystalDecisions.Shared.ExportFormatType.PortableDocFormat - 5

Dim outputfile As String
outputfile = pathorigine & "Crystalreport1.pdf"

Dim outputurl As String
outputurl = "http:\\localhost\webapplication5\" & "Crystalreport1.pdf"


If File.Exists(outputfile) Then

File.Delete(outputfile)
'
End If
'
Dim crDiskFileDestinationOptions As New CrystalDecisions.Shared.DiskFileDestinationOptions()

'The ASPNET user account must have Modify (Read & Write) permissions on the export directory

crDiskFileDestinationOptions.DiskFileName = outputfile



'Set export to disk file

crExportOptions.DestinationOptions = crDiskFileDestinationOptions
crExportOptions.ExportDestinationType = CrystalDecisions.Shared.ExportDestinationType.DiskFile


crReportDocument.Export()



'Re-direct the user to the report to view or download

Response.Redirect(outputurl)


MauriBS Profilo | Newbie

Ciao Vincenzo,
premetto che non uso VB ma C#, io sono riuscito ad esportare il report e a visualizzarlo con il Response.Redirect(outputurl) come hai scritto nel tuo codice, adesso però non ho a disposizione il codice che ho scritto per controllare eventuali differenze. Una cosa che non sono riuscito a capire nel tuo codice è questa:
crExportOptions.ExportFormatType = CrystalDecisions.Shared.ExportFormatType.PortableDocFormat - 5

Cosa è quel '- 5' al termine della riga?
Comunque questa sera quando vado a casa controllo quello che ho fatto io e poi se posso aiutarti mi faccio sentire.
Ciao.
Maurizio

MauriBS Profilo | Newbie

Ciao Vincenzo.
Ti mostro il codice che utilizzo io e che funziona. Tieni presente che è in C# però penso che non avrai problemi a capirlo.

TempFileCollection tmpFile = new TempFileCollection(Server.MapPath("Temp"), false);
string strFileName = tmpFile.AddExtension("pdf");// File temporaneo
string strUrlFile = strFileName.Remove(0, strFileName.LastIndexOf('\\'));
ReportDocument crReportDocument = new ReportDocument();
crReportDocument.Load(Server.MapPath("ReportLibri.rpt"));// Carica il report
crReportDocument.SetDatabaseLogon("sa", "password");// Credenziali
crReportDocument.SetDataSource("Elenco_completo"); //Nome tabella

// Dichiara le variabili e restituisce le opzioni di esportazione.
ExportOptions exportOpts = new ExportOptions();
DiskFileDestinationOptions diskOpts = new DiskFileDestinationOptions();
exportOpts = crReportDocument.ExportOptions;

// Imposta il formato di esportazione.
exportOpts.ExportFormatType = ExportFormatType.PortableDocFormat;
exportOpts.ExportDestinationType = ExportDestinationType.DiskFile;

// Imposta le opzioni relative al file del disco
diskOpts.DiskFileName = strFileName;
exportOpts.DestinationOptions = diskOpts;

// Esportazione del report
crReportDocument.Export();
// Apertura file
Response.Redirect("Temp" + strUrlFile);

Spero ti sia utile.
Ciao.

Maurizio
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5