导出到 PDF 文件

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

PDF 呈现扩展插件支持 ANSI 字符,并且可以从日语、朝鲜语、繁体中文、简体中文、西里尔语、希伯来语和阿拉伯语转换 Unicode 字符。

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

嵌入字体

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

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

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

  • 该字体为 TrueType。

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

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

注意注意

尽管满足这些条件,仍有一个在 PDF 文件中不嵌入字体的情况。 如果所使用的字体是 PDF 规范中通常称作标准类型 1 字体或基础十四字体的字体,则对于 ANSI 内容将不嵌入这些字体。

客户端计算机上的字体

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

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

验证 PDF 文件中的字体

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

请勿依赖在预览模式下查看报表或导出到 HTML,这是因为报表会因图形设计界面或 Microsoft Internet Explorer 分别执行的自动字体替换而正确显示。 如果服务器上缺少 Unicode 标志符号,您可能会看到字符被替换为问号 (?)。 如果客户端上缺少字体,您可能会看到字符被替换为方框 (□)。

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

元数据

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

PDF 属性

创建自

Title

Report RDL 元素的 Name 属性。

Author

Author RDL 元素。

Subject

Description RDL 元素。

Creator

Reporting Services 产品的名称和版本。

Producer

呈现扩展插件的名称和版本。

CreationDate

报表执行时间,以 PDF datetime 格式表示。

Fonts

每个嵌入字体的字体名称和属性。

若要查看元数据,请在 Adobe Acrobat 中打开文件,从**“文件”菜单中查看“属性”。 例如,“字体”**选项卡会显示文件中嵌入的字体的列表。

交互

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

显示和隐藏

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

文档结构图

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

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

书签

PDF 呈现不支持书签。

钻取链接

钻取链接在 PDF 文件中呈现为可单击的链接。 单击钻取链接时,Acrobat 将打开默认的客户端浏览器并导航到作为钻取目标的 URL。

超链接

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

压缩

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

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

设备信息设置

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

更改历史记录

更新的内容

嵌入的字体

删除限制:PDF 现在支持 4 字节 Unicode 字符。

阐明了针对 ANSI 内容的字体嵌入。