2013-12-06 5 views
1

Благодарим вас за просмотр моего вопроса. Я создаю проект в Visual Studio 2010 с помощью vb и .net. У меня есть отчет Crystal Reports, который я пытаюсь автоматически экспортировать и открываю в PDF с нажатием кнопки. Сейчас я использую Crystal Reports Viewer в своем проекте, который отлично открывает отчет; Тем не менее, я хотел бы, чтобы он был открыт только в формате pdf. Есть ли способ сделать это?Открытие pdf от Crystal Reports Viewer

Примечание: Я не охочусь за кодом. Я хочу учиться, поэтому, если бы вы могли просто вести меня в правильном направлении, это будет здорово (если вы не хотите предоставлять код)!

Благодарим за помощь.

Джош

+0

Я предлагаю вам попытаться найти, как экспортировать отчет в PDF программно. Когда вы узнаете путь, используйте 'Process.Start (« C: \ FilePath \ FileName.pdf »)', чтобы открыть его. – Alex

ответ

1

Я использую код из http://www.codeproject.com/Articles/14549/Crystal-Reports-To-PDF-converter-Without-Crystal-R

Imports CrystalDecisions.CrystalReports.Engine 

Imports CrystalDecisions.Shared 

Public Class clsCrystalToPDFConverter 

Dim ConInfo As New CrystalDecisions.Shared.TableLogOnInfo 

Dim oRDoc As New ReportDocument 

Dim expo As New ExportOptions 

Dim sRecSelFormula As String 

Dim oDfDopt As New DiskFileDestinationOptions 

Dim strCrystalReportFilePath As String 

Dim strPdfFileDestinationPath As String 

Public Function SetCrystalReportFilePath(ByVal CrystalReportFileNameFullPath As String) 

strCrystalReportFilePath = CrystalReportFileNameFullPath 

End Function 

Public Function SetPdfDestinationFilePath(ByVal pdfFileNameFullPath As String) 

strPdfFileDestinationPath = pdfFileNameFullPath 

End Function 

Public Function SetRecordSelectionFormula(ByVal recSelFormula As String) 

sRecSelFormula = recSelFormula 

End Function 

Public Function Transfer() 

oRDoc.Load(strCrystalReportFilePath) 'loads the crystalreports in to the memory 

oRDoc.RecordSelectionFormula = sRecSelFormula 'used if u want pass the query to u r crystal form 

oDfDopt.DiskFileName = strPdfFileDestinationPath 'path of file where u want to locate ur PDF 

expo = oRDoc.ExportOptions 

expo.ExportDestinationType = ExportDestinationType.DiskFile 

expo.ExportFormatType = ExportFormatType.PortableDocFormat 

expo.DestinationOptions = oDfDopt 

oRDoc.SetDatabaseLogon("PaySquare", "paysquare") 'login for your DataBase 

oRDoc.Export() 

End Function 

End Class 

Вам необходимо установить переменные к специфике Вашего проекта, очевидно. Это, скорее всего, классы и методы, которые вы захотите использовать. Это должно позволить вам отобразить файл просмотра ваших кристаллов и превратить его в что-то, открытое PDF.

+0

Благодарим за помощь! –

1

Это работает для меня.

дим orpt Как CrystalDecisions.CrystalReports.Engine.ReportDocument orpt = DirectCast (crvInvoice.ReportSource, CrystalDecisions.CrystalReports.Engine.ReportDocument) orpt.ExportToDisk (ExportFormatType.PortableDocFormat, "PdfFileName.pdf")

Смежные вопросы