在Reporting Services中导出PDF

Phi*_*hil 5 sql-server reporting-services

有人知道在导出后以PDF格式显示报表时是否可以更改报表的页面大小/比例?

我们遇到的问题是我们的一个用户在表中创建了一个包含大量coloumns的报表,然后该表运行到报表的下一页.我们已在Business Intelligence Studio中将页面设置更改为横向,然后以PDF格式呈现报表.但是,当我将页面设置更改为A3时,这并不能解决问题.是否有可能以这种方式调整大小/扩展,或者是否有一种我不知道的更好的方法.

谢谢

jga*_*ant 2

是的。您需要进行手动导出,并在渲染过程中指定设备信息。

以下是 PDF 渲染可能的 DeviceInfo 数据:

http://msdn.microsoft.com/en-us/library/ms154682.aspx

现在,导出为 PDF 的方法将如下完成:

  Private Sub ReportCommandExportToPDF()
    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 = Nothing

    deviceInf = "<DeviceInfo><MarginLeft>0.2</MarginLeft></DeviceInfo>"

    bytes = ReportViewer1.LocalReport.Render("PDF", deviceInf, mimeType, encoding, extension, streamids, warnings)
      Dim fs As New FileStream("File.pdf", FileMode.Create)
      fs.Write(bytes, 0, bytes.Length)
      fs.Close()

  End Sub
Run Code Online (Sandbox Code Playgroud)