2009-07-04 14 views
6

pdfエクスポートのランドスケープを設定するにはどうすればよいですか?リフレッシュが動作しないの前にレポートビューアランドスケープpdfエクスポート

System.Drawing.Printing.PageSettingsの使用。

 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); 

      } 
     } 
+0

この記事をチェックしてください:http://stackoverflow.com/questions/25387415/export-rdlc-report-to-pdf-in-ランドスケープモード –

答えて

4

最良の方法は、輸出のレンダリング時にデバイス情報を渡すことです。ここでは、同じ問題を持つ人です。

チェックアウトhttp://msdn.microsoft.com/en-us/library/ms154682.aspx

あなたは横向きのために8.5×11を指定することができますので、あなたは、デバイス情報としてのpageHeightとPageWidthはを渡すことができます。以下

コード例:

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() 
+1

」と「」を完全に変更しました。 1行の修正! –

8

レポート(rdlc)選択したレポートのデザインビューでとプロパティペインで設定された第2のparamを使用してpage size

width :11in 
height :8.5in 
+4

または、ヨーロッパの全員がA4を使用しています。幅:29.7cm、高さ:21cm。 –

-1

で、次の項目:deviceInf関数内のReportViewer1.LocalReport.Render(..)が正しいです。 さらに、PDF、TIF画像をレンダリングする場合は正しくなりますが、WORDの場合は無効です。

関連する問題