Split Crystal Report Into Separate Files by Page

2019-06-14 05:33发布

I'm trying to break a multi page crystal report into multiple files by page and name according from their respective fields. I've been fooling around with the code from this question however I run into all type of SAP error's. Is there not a simple way to iterate say like:

foreach(var page in CrystalReport)
{
    report.ExportTiDisk(ExportFormatType.WordForWindows, page.[NameField]);
}

Worst case I could do this with the Word API but that another can of worms I'd rather not open.

Thank you in advance

2条回答
可以哭但决不认输i
2楼-- · 2019-06-14 05:46

The process of splitting a report in multiple files is known as bursting. You can split by group , not by page. However splitting by group will allow you to split based on the data , not by mechanical reason like page number. As a result if you have a customer with more data which is printed on 2 pages the report will be spitted correctly and the generated file for this customer will be 2 pages too. Bursting is a little bit complicate to develop but there are few tools on the market that can do it. Check this video : http://www.r-tag.com/Pages/Preview_Bursting.aspx I believe the tool in this video is free.

查看更多
Explosion°爆炸
3楼-- · 2019-06-14 05:57

Dear please check the code.

Why you need to export in multiple files, it is bad as suppose you have a report with 300 pages result, then are you think to make 300 files to export and customer to check each & every files. Think again.

Still here is solution, Please refer to the following VB.Net code for exporting to seperate pdf files.

Dim rdoc As New ReportDocument    
'------------------------------------    
'Add your code to set rdoc object    
'--------------------------------------    
Dim exportOpts As ExportOptions = New ExportOptions()
Dim pdfRtfWordOpts As PdfRtfWordFormatOptions = ExportOptions.CreatePdfRtfWordFormatOptions()
Dim destinationOpts As DiskFileDestinationOptions = ExportOptions.CreateDiskFileDestinationOptions()
For li_count As Integer = 1 To pagecount
    pdfRtfWordOpts.FirstPageNumber = li_count
    pdfRtfWordOpts.LastPageNumber = li_count
    pdfRtfWordOpts.UsePageRange = True
    exportOpts.ExportFormatOptions = pdfRtfWordOpts
    exportOpts.ExportFormatType = ExportFormatType.PortableDocFormat

    destinationOpts.DiskFileName = "D:\report File" & li_count & ".pdf"
    exportOpts.ExportDestinationOptions = destinationOpts
    exportOpts.ExportDestinationType = ExportDestinationType.DiskFile
    rdoc.Export(exportOpts)

Next

refer link export in multiple file

You have not written your CR-version, So please refer to this link also which says, not able to export in multiple files in cr-2008.

http://social.msdn.microsoft.com/Forums/en-US/f85e167d-edb3-44d0-82fc-2d2b6f92f57b/how-do-i-export-multiple-pdf-files-from-a-single-crystal-report-ie-a-pdf-file-for-each?forum=vscrystalreports

http://scn.sap.com/thread/1132776

查看更多
登录 后发表回答