[英]exporting to PDF in a loop in crystal reports
我在生成多個PDF水晶報表(即循環生成)時遇到困難。 基本上我創建的是PDF文件,然后壓縮這些文件並生成HTTP Response。為演示代碼,我在這里運行了兩次代碼。
Response.ClearContent();
Response.ClearHeaders();
Response.ContentType = "application/zip";
Response.AppendHeader("content-disposition", "attachment; filename=Report.zip");
using (ZipFile zip = new ZipFile())
{
for (int i = 0; i < 2; i++)
{
var re = rpt.ExportToStream(ExportFormatType.PortableDocFormat);
string Name="PDF"+i+".pdf";
zip.AddEntry(Name, re);
}
zip.Save(Response.OutputStream);
}
Response.Clear();
它成功生成了zip文件,但是當我嘗試提取該zip文件時,我給出了一個錯誤, No archive found (The archive is either in unknown formate or damaged).
格式No archive found (The archive is either in unknown formate or damaged).
任何幫助,將不勝感激。 順便說一句,我點擊了此鏈接,“ 將Crystal Report循環導出為PDF”僅適用於
如果zip文件未附加到本地路徑,則使用memorystreem。
Response.ClearContent(); Response.ClearHeaders();
Response.ContentType =“應用程序/郵政編碼”;
Response.AppendHeader(“ content-disposition”,“ attachment;
文件名= Report.zip“);使用(var memoryStream = new MemoryStream()){使用(var archive = new ZipArchive(memoryStream,ZipArchiveMode.Create,true))
{
對於(int i = 0; i <2; i ++)
{
var re = rpt.ExportToStream(ExportFormatType.PortableDocFormat);
字符串名稱=“ PDF” + i +“。pdf”;
zip.AddEntry(名稱,重新);
zip.Save(MemoryStream的);
}}}memoryStream.Seek(0,SeekOrigin.Begin); memoryStream.WriteTo(Response.OutputStream);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.