在Reporting Services中导出PDF

时间:2009-05-08 09:08:45

标签: sql-server reporting-services

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

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

由于

1 个答案:

答案 0 :(得分: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