15


预览和水印

通过进行预览,订户可以在购买之前查看内容。在 Vending Manager 管理员储存和/或订户查看图象预览时,可以对其执行水印操作。

在提交预览文件之前,请根据需要配置 Content Delivery Server 以处理预览和水印。

本章包含以下主题:


15.1 配置预览

可以使用可选标题来指定可用的预览。您可以定义一个默认标题,以便在未提供标题时使用。您还可以定义将用于音频预览文件的 MIME 类型。

15.1.1 设置默认标题

预览标题是可选的。如果内容提供商或管理员没有提供任何标题,则使用默认标题。要设置默认标题,请将 $CDS_HOME/deployment/deployment-name/conf/SubscriberPortalLocaleResource.properties 文件中的 desktop.preview.untitled 属性设置为所选的字符串。如果不需要默认标题,则将该属性设置为空字符串。如果资源文件特定于具体的语言环境,请在所使用的语言环境的相应文件中设置该属性。

15.1.2 指定音频预览文件

要确保 Content Delivery Server 将文件正确识别为音频预览,请编辑 $CDS_HOME/deployment/deployment-name/conf 目录中的 PlayableMimeTypes.config 文件。输入 java.util.regex 软件包定义的一个或多个正则表达式,以指定系统中用于音频文件的 MIME 类型。请在每一行中输入一个表达式,例如:

audio/.*
sound/.*
application/x-ert


15.2 配置水印

应用水印是指修改文件以将其标记为样例内容的过程。在 Content Delivery Server 中,可以在储存内容以及订户预览内容时应用水印。水印可以累积。如果在储存内容时应用了一个水印,并在订户访问预览时又应用了一个水印,则预览包含这两个水印。

Catalog Manager 管理员使用的是原始预览文件。如果将 Content Delivery Server 配置为在储存内容时为内容应用水印,则会将带有水印的预览文件版本存储在 Vending Manager 中,并且可供 Vending Manager 管理员使用。如果将 Content Delivery Server 配置为在访问预览时为内容应用水印,则只有订户能够查看带有水印的版本。

默认情况下,不启用水印。要启用水印,请按照下面几节中的说明进行操作。随 Content Deliver Server 提供的水印实用程序只能为具有以下 MIME 类型的文件应用水印:

默认水印是位于图像中心的字符串 Sample,如下图所示。

图 15-1 默认水印


目前,仅图像支持水印。不能为动画图像应用水印。只有在预览内容时,才能为受版权保护的外部托管预览文件应用水印,而不能在储存内容时应用水印。如果文件未受版权保护,并且将系统配置为在储存内容时为文件应用水印,则会为一个外部托管文件副本应用水印并将其存储在 Content Delivery Server 中。

15.2.1 安装 Java 高级图像处理图像 I/O 工具

要使用随 Content Delivery Server 提供的水印实用程序,必须在部署了 Vending Manager 的服务器上安装 Java 高级图像处理图像 I/O 工具 1.1 版。这些工具(可用于多种平台)提供了一些 Java 图像 I/O 框架的插件,用于读取、写入和流式传输图像格式。要安装这些工具,请执行以下操作:

1. 指定运行 Vending Manager 的平台。

在部署了 Vending Manager 的服务器上运行 uname -a 命令。请使用此命令的结果来确定所需的二进制生成文件。

2. 为平台下载相应的二进制生成文件。

可以使用1 中的信息,从 https://jai-imageio.dev.java.net/binary-builds.html 中下载 1.1 版的发行生成文件。请为平台下载以 -jdk 结尾的文件。例如,如果命令返回字符串 sparc,则下载 jai_imageio-1_1-lib-solaris-sparc-jdk.bin 文件。

3. 安装 JDK 软件中的工具。

按照 http://download.java.net/media/jai-imageio/builds/release/1.1/INSTALL-jai_imageio.html 中的安装说明,安装下载到 JDK 软件实例的文件。

15.2.2 在储存内容时应用水印

要允许在储存内容时应用水印,请将 $CDS_HOME/deployment/deployment-name/conf/StockingWatermarking.properties 文件中的 watermarking.enabled.content-types 属性设置为要应用水印的内容类型。请仅指定为 Content Delivery Server 定义的内容类型。默认值为 image。目前,仅图像支持水印。

要使用图像内容的默认水印实现,请不要更改此文件中的其他属性。

可以将文本和/或图像作为水印。请设置 $CDS_HOME/deployment/deployment-name/conf/StockingWatermarkingImage.properties 文件中的属性以定义要使用的水印。下表介绍了这些属性。


表 15-1 用于定义水印的属性

属性

描述

watermark.image.txt.source

叠加在原始图像上以用作水印的文本。最大长度为 255 个字符。如果未指定任何值,则忽略以 watermark.image.txt 开头的所有其他属性。初始值为 Sample

  • 确保为 watermark.image.txt.font.name 指定的字体支持用于文本水印的字符。

watermark.image.txt.font.name

用于文本水印的字体。要指定多种字体,请用逗号分隔字体名称。如果系统不支持指定的任何字体,则会使用替代字体。如果未指定任何值,则使用 Helvetica,New Times,Courier, Arial。初始值为 New Times

watermark.image.txt.position

放置水印的位置和重复因素。有效值为:

  • TOP。在图像顶部写入文本。
  • BOTTOM。在图像底部写入文本。
  • LEFT。沿图像左边缘旋转并写入文本。
  • RIGHT。沿图像右边缘旋转并写入文本。
  • TOP_BORDER。在图像上方写入文本。
  • BOTTOM_BORDER。在图像下方写入文本。
  • LEFT_BORDER。在图像左侧旋转并写入文本。
  • RIGHT_BORDER。在图像右侧旋转并写入文本。
  • DIAGONAL。从图像左下角到右上角沿对角线写入文本。
  • DIAGONAL_REPEATED。沿图像对角线在三个位置上写入文本。
  • CENTER。在图像中心水平写入文本。
  • CENTER_REPEATED。在图像上的三个位置水平写入文本。
  • NONE。在左上角写入文本。

如果未指定任何值,则使用 NONE。初始值为 CENTER

watermark.image.txt.font.size

用于文本水印的字体磅值大小。有效值为 896 的十进制数以及 FIT_IMAGE。使用 FIT_IMAGE 可自动调整大小以适合原始图像。如果未指定任何值,则使用 FIT_IMAGE。初始值为 FIT_IMAGE

watermark.image.txt.font.colour

文本水印的颜色。有效值为:

  • 0255 的红绿蓝 (RGB) 值,例如,红色为 255,0,0
  • WHITE
  • RED
  • BLUE
  • GREEN
  • BLACK
  • YELLOW
  • BROWN
  • PURPLE
  • PINK
  • ORANGE

如果未指定任何值,则使用 BLACK。初始值为 BLACK

watermark.image.txt.font.transparency

文本水印的透明度因素。有效值为 0.01.0,其中 0.0 为完全透明;1.0 为完全不透明。如果未指定任何值,则使用 1.0。初始值为 0.75

watermark.image.txt.font.modifier

文本水印的字体修饰符。有效值为 BOLDITALICUNDERLINEPLAIN。要指定多个修饰符,请用逗号分隔这些值。如果使用 PLAIN,则不要添加任何其他修饰符。如果未指定任何值,则使用 PLAIN。初始值为 PLAIN

watermark.image.border.width

在原始图像的各个边中添加的边框宽度(以像素为单位)。可以将边框与文本水印和图像水印一起使用。指定任意正整数或 0(没有边框)。如果未指定任何值,则使用 0。初始值为 0

watermark.image.border.colour

在原始图像中添加的边框的颜色。可以将边框与文本水印和图像水印一起使用。其有效值与 watermark.image.txt.font.colour 的有效值相同。如果未指定任何值,则使用 BLACK。初始值为空字符串。

watermark.image.img.source

用作水印的图像的文件名或 URL。URL 目标不能位于受保护的站点上,并且必须可通过 Content Delivery Server 和目标之间存在的任何防火墙对其进行访问。此文件必须具有以下 MIME 类型之一:

  • image/png
  • image/jpg
  • image/gif
  • image/tif

如果未指定任何值,则忽略以 watermark.image.img 开头的所有其他属性。初始值为空字符串。

watermark.image.img.position

放置水印的位置和重复因素。有效值为:

  • TOP。将水印图像放在图像顶部。
  • BOTTOM。将水印图像放在图像底部。
  • LEFT。沿图像左边缘放置水印图像。
  • RIGHT。沿图像右边缘放置水印图像。
  • TOP_BORDER。将水印图像放在图像上方。
  • BOTTOM_BORDER。将水印图像放在图像下方。
  • LEFT_BORDER。将水印图像放在图像的左侧。
  • RIGHT_BORDER。将水印图像放在图像的右侧。
  • DIAGONAL。从图像左下角到右上角沿对角线放置水印图像。
  • DIAGONAL_REPEATED。沿图像对角线在三个位置上放置水印图像。
  • CENTER。将水印图像放在图像的中心。
  • CENTER_REPEATED。将水印图像放在图像上的三个位置中。
  • NONE。将水印图像放在左上角。

如果未指定任何值,则使用 NONE。初始值为空字符串。

watermark.image.img.dimensions

水印图像的 X 和 Y 尺寸(以像素为单位),例如,10,10。如果水印图像的尺寸超过实际尺寸,则会对该图像进行缩放。如果未指定任何值,则不会应用覆盖。初始值为空字符串。

watermark.image.img.transparency

水印图像的透明度因素。有效值为 0.01.0,其中 0.0 为完全透明;1.0 为完全不透明。如果未指定任何值,则使用 1.0。初始值为空字符串。


 

对这两个属性文件中的任何一个进行更改,都不需要重新启动服务器。如果更改了 $CDS_HOME/deployment/deployment-name/conf/StockingWatermarkingImage.properties 文件中的属性,更改后储存的内容的预览文件将使用更新的水印。更改前储存的内容的预览文件将保留原始水印,直至执行了以下操作之一:

如果对内容项执行上述操作之一,则会使用原始文件和更新的水印重新创建与该项关联的所有预览文件。

如果预览文件是外部托管文件,则会将带有水印的文件副本存储在 Content Delivery Server 中。如果更新了外部托管预览文件,下次订户购买或下载与该预览文件关联的版本时,则会对更新文件的副本应用水印并将其存储在 Content Delivery Server 中。

15.2.3 在预览内容时应用水印

要允许在订户预览内容时应用水印,请将 $CDS_HOME/deployment/deployment-name/conf/DiscoveryWatermarking.properties 文件中的 watermarking.enabled.content-types 属性设置为要应用水印的内容类型。默认值为空字符串,因此,不会在预览内容时应用水印。

要使用图像内容的默认水印实现,请不要更改此文件中的其他属性。

可以将文本和/或图像作为水印。请设置 $CDS_HOME/deployment/deployment-name/conf/DiscoveryWatermarkingImage.properties 中的属性以定义要使用的水印。表 15-1 中介绍了这些属性。如果还允许在储存内容时应用水印,则预览包含这两个水印。

对这两个属性文件中的任何一个进行更改,都不需要重新启动服务器。如果更改了 $CDS_HOME/deployment/deployment-name/conf/DiscoveryWatermarkingImage.properties 文件中的属性,下次订户预览内容时将使用更新的水印。

Content Delivery Server 提供了用于处理水印的内容管理 API 实现,如本节中所述。要为企业定制水印应用过程,您需要创建自己的内容管理 API 实现。有关内容管理 API 的信息,请参见《Sun Javatrademark System Content Delivery Server 5.1 定制指南》。