8

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

            }
        }
4

3 に答える 3

8

レポートのデザイン ビュー ( rdlc) でレポートを選択し、プロパティ ペインで次の項目を設定します。page size

width :11in
height :8.5in
于 2011-05-21T18:11:08.143 に答える
5

最良の方法は、エクスポートのレンダリング中にDeviceInformationを渡すことです。

http://msdn.microsoft.com/en-us/library/ms154682.aspxを確認してください

PageHeightとPageWidthをDeviceInformationとして渡すことができるため、横向きの形式に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()
于 2009-07-07T11:44:29.093 に答える
3

レポート定義でレポートサイズを設定する必要があります。同じ問題を抱えている人がいます:

http://forums.asp.net/t/1138481.aspx

于 2009-07-04T17:00:22.373 に答える