我正在从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
}
}
答案 0 :(得分:0)
确保您的SSRS报告中使用的字体是标准的 - 如arial(或任何标准默认值)。发挥巨大作用。对于我们的 - 从200k到12k。此外,请确保在报告中正确优化图像。
FONT:Arial;宋体;默认;默认;默认
确保图像已正确优化 - 使用Yahoo SmushIT
之类的东西