将分页报表导出到 PDF 文件(报表生成器)

适用范围: Microsoft 报表生成器 (SSRS) Power BI Report Builder SQL Server Data Tools 中的报表设计器

PDF 呈现扩展插件可将分页报表呈现为特定格式的文件,以便在 Adobe Acrobat 和其他支持 PDF 1.3 的第三方 PDF 查看器中打开。 尽管 PDF 1.3 与 Adobe Acrobat 4.0 和更高版本兼容,但 Reporting Services 支持 Adobe Acrobat 11.0 或更高版本。 呈现扩展插件不需要使用 Adobe 软件呈现报表。 不过,该插件需要使用 PDF 查看器(例如 Adobe Acrobat)才可查看或打印 PDF 格式的报表。

PDF 呈现扩展插件支持 ANSI 字符,并且可以从日语、朝鲜语、繁体中文、简体中文、西里尔语、希伯来语和阿拉伯语转换 Unicode 字符,但存在一些限制。 有关限制的详细信息,请参阅导出报表(报表生成器和 SSRS)。 对于可编辑 PDF,PDF 呈现扩展插件还符合 ISO 14289-1 (PDF/UA) 标准。 有关详细信息,请参阅符合 ISO 14289-1 标准的 PDF 呈现扩展插件、Power BI 报表服务器和 SSRS

PDF 呈现器是一个物理页呈现器,因此其分页行为与诸如 HTML 和 Excel 等其他呈现器不同。 本主题提供了特定于 PDF 呈现器的信息并说明了呈现规则的例外情况。

注意

在 SQL Server Data Tools 中,你可以在 Microsoft 报表生成器、Power BI 报表生成器和报表设计器中创建和修改分页报表定义 (.rdl) 文件。

嵌入字体

如有可能,PDF 呈现扩展插件会在 PDF 文件中嵌入显示报表所需的每个字体的子集。 因此报表服务器上必须安装有报表中使用的字体。 当报表服务器以 PDF 格式生成报表时,它将使用报表引用的字体中所存储的信息在 PDF 文件内创建字符映射。 如果报表服务器上未安装所引用的字体,生成的 PDF 文件可能不会包含正确的映射,因而在查看该 PDF 文件时可能不会正常显示。

满足以下条件时,将在 PDF 文件中嵌入字体:

  • 字体作者授予了嵌入字体的权限。 安装的字体包含一个属性,该属性指示字体作者是否打算允许在文档中嵌入字体。 如果该属性值为 EMBED_NOEMBEDDING,将不会在 PDF 文件中嵌入字体。 有关详细信息,请参阅 msdn.microsoft.com 上的“TTGetEmbeddingType”。

  • 该字体为 TrueType。

  • 字体由报表中的可见项引用。 如果字体由 Hidden 属性设置为 True 的项引用,则显示呈现的数据不需要字体,所以不会在文件中包含字体。 只有显示所呈现的报表数据需要字体时,才会嵌入字体。

如果某个字体满足上述所有条件,将在 PDF 文件中嵌入该字体。 如果不满足上述一个或多个条件,将不会在 PDF 文件中嵌入该字体。

注意

即使条件满足,还会有一种 PDF 文件未嵌入字体的情况。 如果所用字体包含在 PDF 规范(常称作 standard type 1 字体或十四个基础字体)中,则对于 ANSI 内容,将不嵌入字体。

客户端计算机上的字体

如果在 PDF 文件中嵌入了字体,则用于查看报表的计算机(客户端计算机)不必安装字体即可正确显示报表。

如果 PDF 文件中没有嵌入字体,则客户端计算机必须安装正确的字体才能正确显示报表。 如果客户端计算机上没有安装字体,则对于不支持的字符,PDF 文件将显示问号字符 (?)。

验证 PDF 文件中的字体

PDF 输出差异通常在报表中使用不支持非拉丁字符的字体并随后将非拉丁字符添加到报表时发生。 应在报表服务器和客户端计算机上测试 PDF 呈现输出,以验证报表是否正常呈现。

不要依赖于在预览中查看报表或导出到 HTML。 由于报表生成器或浏览器分别执行自动字体替换,因此报表看起来是正确的。 如果服务器上缺少 Unicode 字形,你可能会看到字符被替换为问号 (?)。 如果客户端上缺少字体,你可能会看到字符被替换为方框 (□)。

嵌入 PDF 文件的字体包含在“字体”属性中,该属性随文件一起作为元数据保存。

Windows 10 和 Windows 11 引入了推荐的通用 Windows 平台 (UWP) 字体集,该字体集在支持 UWP 的所有版本(包括 Desktop、Server 和 Xbox)中通用。 查看支持的字体列表:Windows 11 字体列表 - 版式 | Microsoft Docs

重要

在 Power BI 服务中使用分页报表并导出到 PDF 文件时,支持的唯一字体是“简介”中 Windows 11 字体列表 - 版式 | Microsoft Docs 字体列表内包含的字体。

Metadata

除了报表布局外,PDF 呈现扩展插件会将以下元数据写入 PDF 文档信息字典。

PDF 属性 创建自
标题 Name RDL 元素的 Report 属性。
作者 Author RDL 元素。
主题 Description RDL 元素。
创建者 Reporting Services 产品名称和版本。
创建器 呈现扩展插件的名称和版本。
CreationDate 报表执行时间,以 PDF datetime 格式表示。

交互性

PDF 支持一些交互元素。 下面是对一些特定行为的说明。

显示和隐藏

PDF 不支持动态显示和隐藏元素。 呈现 PDF 文档是为了与报表中任意项的当前状态相匹配。 例如,如果在报表初次运行时显示了某项,则会呈现该项。 如果可切换的图像在导出报表时隐藏,则不会呈现这些图像。

文档结构图

如果报表中存在任何文档结构图标签,则会将文档大纲添加到 PDF 文件。 每个文档结构图标签在文档大纲中显示为一个条目,显示顺序与其在报表中的显示顺序相同。 在 Acrobat 中,仅当目标书签所在的页呈现出来时,才会将该标签添加到文档大纲中。

如果仅呈现单个页,则不添加文档大纲。 文档结构图是分层排列的,以反映报表中的嵌套级别。 可单击 Acrobat 中的“书签”选项卡访问文档大纲。选择文档大纲内的条目会使文档进入带有书签的位置。

书签

PDF 呈现不支持书签。

在 PDF 呈现中不支持钻取链接。 钻取链接不呈现为可选择链接,并且钻取报表不能连接到钻取的目标。

报表中的超链接在 PDF 文件中呈现为可选择的链接。 选择超链接时,Acrobat 将打开默认的客户端浏览器并导航到超链接 URL。

压缩

图像压缩基于图像的原始文件类型。 默认情况下,PDF 呈现扩展插件会压缩 PDF 文件。

为了尽可能保留 PDF 文件中所包含图像的任何压缩状态,JPEG 图像存储为 JPEG,所有其他图像类型都存储为 BMP。

注意

PDF 文件不支持嵌入 PNG 图像。

设备信息设置

您可以通过更改设备信息设置来更改此呈现器的某些默认设置。 有关详细信息,请参阅 PDF Device Information Settings

另请参阅