报表查看器横向pdf导出
如何设置pdf导出的环境 刷新前使用System.Drawing.Printing.PageSettings无效报表查看器横向pdf导出,pdf,reportviewer,Pdf,Reportviewer,如何设置pdf导出的环境 刷新前使用System.Drawing.Printing.PageSettings无效 Type tip = reportViewer1.GetType(); FieldInfo[] pr = tip.GetFields(BindingFlags.Instance | BindingFlags.NonPublic); System.Drawing.Printing.PageSettings ps = new System.
Type tip = reportViewer1.GetType();
FieldInfo[] pr = tip.GetFields(BindingFlags.Instance | BindingFlags.NonPublic);
System.Drawing.Printing.PageSettings ps = new System.Drawing.Printing.PageSettings();
ps.Landscape = true;
// ps.PaperSource=
foreach (FieldInfo item in pr)
{
if (item.Name == "m_pageSettings")
{
item.SetValue(reportViewer1, ps);
}
}
您需要在报表定义中设置报表大小。以下是有同样问题的人:
最好的方法是在导出的渲染过程中传递设备信息 退房 您可以将PageHeight和PageWidth作为设备信息传递,以便为横向格式指定8.5x11 代码示例如下:
Dim warnings As Warning() = Nothing
Dim streamids As String() = Nothing
Dim mimeType As String = Nothing
Dim encoding As String = Nothing
Dim extension As String = Nothing
Dim bytes As Byte()
Dim deviceInf as String
deviceInf = "<DeviceInfo><PageHeight>8.5in</PageHeight><PageWidth>11in</PageWidth></DeviceInfo>"
bytes = ReportViewer1.LocalReport.Render("PDF", deviceInf, mimeType, encoding, extension, streamids, warnings)
Dim fs As New FileStream(FILENAME, FileMode.Create)
fs.Write(bytes, 0, bytes.Length)
fs.Close()
Dim warnings As Warning()=无
将StreamID设置为字符串()=无
Dim mimeType作为字符串=无
Dim编码为字符串=无
作为字符串的Dim扩展名=无
作为字节()的Dim字节
将设备设置为字符串
deviceInf=“8.5in11in”
bytes=ReportViewer1.LocalReport.Render(“PDF”、deviceInf、mimeType、编码、扩展、流ID、警告)
将fs设置为新文件流(文件名,FileMode.Create)
fs.Write(字节,0,字节.长度)
财政司司长(关闭)
在报告的设计视图(rdlc
)中选择报告,并在属性窗格中设置页面大小中的以下项目
width :11in
height :8.5in
在函数ReportViewer1.LocalReport.Render(…)
中使用第二个参数:deviceInf
是正确的。
此外,它在呈现PDF、TIF图像的情况下是正确的,但在WORD更改
和
时不会产生效果,对我来说效果非常好。一行修复!或者,对于欧洲所有使用A4的人,宽度:29,7厘米,高度:21厘米。查看此帖子: