Vous pouvez uniquement utiliser Crystal Reports DLL redistribuables pour ouvrir un fichier de rapport et de générer un PDF avec elle.
Je n'ai jamais essayé d'ouvrir la bibliothèque Crystal Reports directement à partir d'ASP, mais ne devrait pas poser de problème (ou vous pouvez créer une COM dll dans VB6 si vous le pouvez)
Une partie du code que j'ai dans une DLL VB6 utilisant Crystal Reports 9:
Private Sub Export(ReportFile as string)
Dim crxReport As Report
Set crxReport = Prepare(ReportFile)
crxReport.ExportOptions.FormatType = crEFTPortableDocFormat
crxReport.ExportOptions.DestinationType = crEDTDiskFile
crxReport.ExportOptions.DiskFileName = "C:\export\export.pdf"
crxReport.Export (False)
end sub
Private Function Prepare(ReportFile as string) As Report
Dim CRapp As CRAXDRT.Application
Set CRapp = New CRAXDRT.Application
Dim crxReport As Report
Dim aDatabaseObject As Database
Dim aDatabaseTableObject As CRAXDRT.DatabaseTable
Dim objConn As ConnectionProperty
Set CRapp = New CRAXDRT.Application
CRapp.SetLicenseKeycode ("XXXXXXXXXXXXXXXXXXXXXXXX")
Set crxReport = CRapp.OpenReport(ReportFile)
Set aDatabaseObject = crxReport.Database
Set cnn = New ADODB.Connection
cnn.ConnectionString = MyConnectionString()
Set aDatabaseObject = crxReport.Database
For Each aDatabaseTableObject In aDatabaseObject.Tables
Dim objCPProperties As CRAXDRT.ConnectionProperties
aDatabaseTableObject.DllName = "crdb_ado.dll"
Set objCPProperties = aDatabaseTableObject.ConnectionProperties
objCPProperties.DeleteAll
objCPProperties.Add "Provider", "SQLOLEDB"
objCPProperties.Add "Data Source", cnn.Properties.Item("Data Source").Value
objCPProperties.Add "Initial Catalog", cnn.Properties.Item("Initial Catalog").Value
objCPProperties.Add "User ID", cnn.Properties.Item("User ID").Value
objCPProperties.Add "Password", cnn.Properties.Item("Password").Value
aDatabaseTableObject.Location = aDatabaseTableObject.Name
Next
Set Prepare = crxReport
End Function