如何通过.net减少ssrs生成的pdf文件的大小

时间:2015-03-10 06:59:27

标签: c# .net asp.net-mvc-4 reporting-services

我正在从SSRS生成PDF文件并向供应商发送邮件。但是当文件大小大于电子邮件配额大小时,邮件不会转发。我需要帮助来压缩文件以减小文件的大小。请指教。以下是示例代码。

string FileName = "SomeFileName_" + String.Format("{0:yyyyMMddHHmmss}", DateTime.Now) + ".pdf";
string DirPath = Server.MapPath("~/App_Files/XXXX");
string FilePath = Path.Combine(DirPath, FileName);
string strTargetURL = GlobalParameters.SSRSBaseUrl + "/XXXXXX/rptRDLName&User_ID=" + CurrentUserData.UserId + "&P_ENQUIRY_HD_ID=" + EnquiryID + "&rc:LinkTarget=_blank&rc:Parameters=False&rs:Format=PDF&rs:ClearSession=true";
try
{
    ReportViewer objReportViewer = new ReportViewer();
    objReportViewer.ProcessingMode = ProcessingMode.Remote;
    objReportViewer.ServerReport.ReportServerCredentials = new CustomReportCredentials(ConfigurationManager.AppSettings["ReportServerId"], ConfigurationManager.AppSettings["ReportServerPwd"], "BSM");
    objReportViewer.ServerReport.Refresh();
    SSRSWebClient client = new SSRSWebClient();
    client.DownloadFileBinary(FilePath, strTargetURL);
    if (new FileInfo(FilePath).Exists)
    {     
        //............
        //Send mail
    }
}

1 个答案:

答案 0 :(得分:0)

确保您的SSRS报告中使用的字体是标准的 - 如arial(或任何标准默认值)。发挥巨大作用。对于我们的 - 从200k到12k。此外,请确保在报告中正确优化图像。

FONT:Arial;宋体;默认;默认;默认

确保图像已正确优化 - 使用Yahoo SmushIT

之类的东西
相关问题