专业化管理 > 支持可视化和发布 > WVS 加载程序 > WVS Adobe Experience Manager 服务器集成
  
WVS Adobe Experience Manager 服务器集成
Adobe Experience Manager Assembler 是一款基于服务器的应用程序,可处理一系列在 DDX 文件中定义的指示 (DDX 是一种用于定义 PDF 输出文件的声明性标记语言)。WVS Adobe Experience Manager 服务器集成可允许 Adobe Experience Manager 服务器修改存储在“表示”中的 PDF 文件。例如,可配置 CAD 绘图的发布,创建以绘图的 PDF 文件为内容的表示。通过使用该集成,Adobe Experience Manager 服务器可处理绘图 PDF。在 Windchill 可视化服务中,对于该集成有两种不同的使用:
将 Acrobat Reader 扩展名添加到 PDF 文件,使 Creo View 和 Adobe Reader 可以应用标记功能。
使用 DDX 模板中定义的指示将水印添加到 PDF 文件,该模板可直接将水印添加到 PDF 文件。这与 Creo View 水印功能相反,该水印功能在查看或打印时添加水印。
您还可以自定义 PDF 文档封面页。有关自定义封面页的详细信息,请参阅 WTDocument Coversheets Configuration and Customization Guide (《WTDocument 封面配置和自定义指南》)。
配置 Adobe Experience Manager 服务器
要用 Adobe Experience Manager 服务器配置 Windchill Visualization Services,可通过 xconfmanager 命令或手动编辑 <Windchill>/site.xconf 文件在主站点上更改以下特性,然后使用 xconfmanager -p 传播文件
* 
可使用两个 WVS 特性配置 Adobe Experience Manager 服务器:edrload.livecycle.assembler.serviceurledrload.livecycle.assembler.credentialalias。有关这些和其他 wvs.properties 文件的完整说明,请参阅 Windchill 可视化服务属性
从 Windchill 10.2 开始,PTC 更改了 wvs.propertieswvs.properties.xconf 文件的位置。这些文件已从 <Windchill>/codebase 目录移至 <Windchill>/codebase/WEB-INF/conf 目录。请确保对代码作出所有必要的更改,以反映此位置的更改。
1. 设置语言的特性值,如下所示:
如果使用 xconfmanager 命令,请将值设置为:
xconfmanager -t <Windchill>/codebase/WEB-INF/conf/wvs.properties -s “edrload.livecycle.assembler.serviceurl= http://your_adobe_livecycle_server_host_name/soap/services/AssemblerService”
如果手动编辑 site.xconf 文件,则添加值:
<Property name="edrload.livecycle.assembler.serviceurl" overridable="true" targetFile="codebase/WEB-INF/conf/wvs.properties"
value="your_adobe_livecycle_server_host_name/soap/services/AssemblerService"/>
2. 可选 – 配置凭证别名,用于对 PDF 文件应用 Acrobat Reader 扩展名。
如果使用 xconfmanager 命令,请将值设置为:
xconfmanager -t <Windchill>/codebase/WEB-INF/conf/wvs.properties -s “edrload.livecycle.
assembler.credentialalias=your_credential_alias_name
如果手动编辑 site.xconf 文件,则添加值:
<Property name="edrload.livecycle.assembler.credentialalias"
overridable="true" targetFile="codebase/WEB-INF/conf/wvs.properties"
value=your_credential_alias_name”/>
3. 创建名为 livecycleauth.properties 的文件,并添加可用于 Adobe Experience Manager 服务器验证的用户名和密码。WVS 在默认目录 <Windchill> 下寻找该特性文件,然而管理员可通过使用 WVS 特性 edrload.livecycle.authfile 设置不同的目录位置来指定其他位置。此 livecycleauth.properties 文件的内容必须为:
auth=<livecycle_username>:<livecycle_password>
livecycleauth.properties 文件指定不同的位置时,如果要使用 xconfmanager 命令,请将值设置为:
xconfmanager -t <Windchill>/codebase/WEB-INF/conf/wvs.properties -s
“edrload.livecycle.authfile=full_directory_path_location
livecycleauth.properties 文件指定不同的位置时,如果要手动编辑 site.xconf 文件,请添加以下值:
<Property name="edrload.livecycle.authfile" overridable="true"
targetFile="codebase/WEB-INF/conf/wvs.properties"
value="full_directory_path_location"/>
Adobe Reader 扩展名
要启用 Adobe Reader 扩展名,以便允许对 Creo View 和 Adobe Reader 应用标记功能,请执行以下步骤:
1. 以“站点管理员”或“组织管理员”的身份登录 Windchill。
2. “站点”“组织”浏览至“实用程序” > “首选项管理”。通过单击 图标展开“可视化”“Adobe Experience Manager 服务器”部分。将“Reader Extensions 已启用”首选项设置为“是”
3. 要验证创建“表示”时 Adobe Reader 扩展名是否将应用于 PDF 文件,请浏览至 WTDocument 并显示“表示列表”。创建新的表示并在目前对 Adobe Reader 不具有标记功能的本地磁盘上选择 PDF。将文件提交至“创建表示”向导,转至“WVS 作业监视器”并审阅“作业详细信息”。“作业详细信息”中应包含类似于以下列出的消息:
2015 年 10 月 15 日上午 3:47:41:调用 Adobe Experience Manager 服务器处理 "My_Document.pdf"
发布作业完成后,可从“表示列表”的 Creo View 中打开新的表示。假定客户端机器安装了 Adobe Reader,Creo View 将使用 Adobe Reader 显示 PDF 文件。启用标记功能,从而允许在 Windchill 中创建并保存标记。
应用模板中定义的 DDX 指示
DDX 文件是一种声明性语言文件,包含 Adobe Experience Manager 服务器可在 PDF 文件上执行的一系列指示。通过使用“可视化配置管理”,管理员可上载包含适用于 PDF 文件的水印定义的 DDX 模板。在发布过程中,此 DDX 模板将应用于所有 PDF 文件。请执行以下步骤来设置 DDX 模板。
1. 以“站点管理员”或“组织管理员”的身份登录 Windchill。
2. “站点”“组织”浏览至“实用程序” > “首选项管理”。通过单击 图标展开“可视化”“Adobe Experience Manager 服务器”部分。将“启用 DDX 模板”首选项设置为“是”
3. 定义 DDX 模板的方法有两种:
示例 DDX 模板称为 LiveCycleServerTemplate.ddx – 位于 <Windchill>/codebase/com/ptc/wvs/server/xml – 可用作定义将要应用于 PDF 文件的水印的起点。示例演示了在水印定义中对 Creo View 特性的使用,在运行时,特性值会在被发送至 Adobe Experience Manager 服务器进行处理之前应用于 DDX。
Creo View 提供了命令行工具,用以通过 Creo View 水印文件 (.INI) 生成 DDX 文件。命令 wmini2ddx.exe 位于 Creo View 客户端安装位置之下的 bin 目录中。调用以下命令来查看关于此实用程序的帮助信息:
C:\Program Files\PTC\ProductView Client\bin\wmini2ddx.exe -help
* 
有关 wmini2ddx.exe 的详细信息,请参阅 Creo View MCAD Adapter Installation and Configuration Guide (《Creo View MCAD Adapter 安装和配置指南》)。
4. 执行以下步骤将 DDX 模板上载至 WVS 配置模板。
以“站点管理员”或“组织管理员”的身份登录 Windchill。
“站点”“组织”浏览至“实用程序” > “可视化配置管理”。单击“创建配置”图标 。将提示您输入“配置类型”。在本示例中,请输入 LiveCycle Server Template 作为配置名称,然后单击“创建”
* 
此过程会将配置添加到当前的容器上下文,如产品、项目、组织或站点。例如,在产品级别添加的配置的使用将优先于在组织级别添加的配置,同样,在组织级别添加的配置的使用将优先于在站点级别添加的配置。
单击配置类型 LiveCycle 服务器模板链接,显示“文件”表格。
单击“将文件添加至配置”图标 。浏览到并选择 LiveCycleServerTemplate.ddx 文件。必须将 DDX 模板文件命名为 LiveCycleServerTemplate.ddx,以便 WVS 结构能识别它。
要在发布过程中验证于 DDX 中定义的水印定义将应用于 PDF 文件,请导航至 WTDocument 并显示“表示列表”。创建新的表示并在不具有水印的本地磁盘上选择 PDF。将文件提交至“创建表示”向导,转至“WVS 作业监视器”并审阅“作业详细信息”。“作业详细信息”中应包含类似于以下列出的消息:
2015 年 10 月 15 日上午 3:47:41:调用 Adobe Experience Manager 服务器处理 "My_Document.pdf"
发布作业完成后,可从“表示列表”的 Creo View 中打开新的表示。假定客户端计算机已安装 Adobe Reader,Creo View 将显示带有水印的 PDF 文件。
通过文档的 Creo View 适配器使用 Adobe Reader 扩展名
还可配置文档的 Creo View 适配器来添加 Adobe Reader 扩展名。当“文档适配器”向 PDF 文件添加 Adobe Reader 扩展名时,它会反向与 WVS 基础结构沟通,以 应用 Adobe Reader 扩展名,因为该操作已由“文档适配器”完成。如果启用使用 DDX 模板添加水印,则应将“Reader Extensions 已启用”首选项设置为“是”,以便在添加水印时可重新应用 Adobe Reader 扩展名。有关详细信息,请参阅 Creo View MCAD Adapter Installation and Configuration Guide (《Creo View MCAD Adapter 安装和配置指南》) 中的“配置 Creo View Adapter for PDF”一章。
当在“文档适配器”中启用 Adobe Reader 扩展名,并且未在 Windchill 服务器中进行设置时 (即,“Reader Extension 已启用”首选项设置为 "No"),如果“作业详细信息”中“启用 DDX 模板”首选项设置为“是”,则为本地 PDF 文件创建表示时,系统将显示以下警告消息:
警告: 可能已对“<您 PDF 的文件名>.pdf”应用了 Reader Extensions,请联系您的系统管理员,以便在使用 DDX 模板时启用 Reader Extensions 首选项。
在以上实例中,当用户尝试在 Creo View 中启动表示时,系统将显示以下消息:
“此文档已在 Adobe Reader 中启用了扩展功能。此文档创建后进行过更改,扩展功能不再可用。请联系该文档原始版本的作者。”
Adobe Experience Manager PDF 转换实用程序
Adobe Experience Manager PDF 转换实用程序是一种批量转换实用程序,允许您向与 Windchill 中的“表示”关联的 PDF 文件添加 Reader Extensions。要开始使用该实用程序,必须使用 Adobe Experience Manager 服务器配置 Windchill Visualization Services (请参阅上面的配置 Adobe Experience Manager 服务器)。开始之前,请调用该实用程序的命令行帮助,并审阅所有的可用选项。要显示此帮助,可从 Windchill shell 中执行以下命令:
windchill com.ptc.wvs.server.util.livecycle.LiveCyclePDFConversionUtility -help
运行该实用程序,包括执行“标记”和“处理已标记文件”操作。
标记 – 第一个步骤是执行标记过程,在系统中特定的 PDF 文件上标记指示符。标记指示符可指定执行“处理已标记文件”操作时,对 Adobe Experience Manager 服务器将要处理的 PDF 文件,以应用 Reader Extensions。此步骤将标记在执行第二个步骤“处理已标记文件”时,系统中 Experience Manager 服务器要处理的 PDF 文件,以应用 Reader Extensions。要标记与 Windchill 系统中的“表示”关联的所有 PDF 文件,应从 Windchill shell 中调用以下命令:
windchill com.ptc.wvs.server.util.livecycle.LiveCyclePDFConversionUtility -mark
-username=<site username> -password=<site password>
“标记”操作支持额外的命令行自变量来标记特定容器中的 PDF 文件,或是基于修改时间戳标记 PDF 文件。例如,要标记与 "Demo Organization" 中的“表示”关联的所有 PDF 文件,应从 Windchill shell 中调用以下命令:
windchill com.ptc.wvs.server.util.livecycle.LiveCyclePDFConversionUtility -mark
-username=<site username> -password=<site password>
-cont_path=”wt.inf.container.OrgContainer=Demo Organization”
要标记 "Demo Organization" 下 <my_product> 产品中的所有 PDF 文件,应从 Windchill shell 中调用以下命令:
windchill com.ptc.wvs.server.util.livecycle.LiveCyclePDFConversionUtility -mark
-username=<site username> -password=<site password>
-cont_path=”wt.inf.container.OrgContainer=Demo Organization\
wt.pdmlink.PDMLinkProduct=MY_PRODUCT”
要标记 Windchill 系统中具有某个范围内的修改时间戳的所有 PDF 文件,应从 Windchill shell 中调用以下命令:
windchill com.ptc.wvs.server.util.livecycle.LiveCyclePDFConversionUtility -mark
-username=<site username> -password=<site password>
-from=08/12/2012 -to=11/12/2012
处理已标记文件 – 第二步是使用实用程序将系统中所有已标记的 PDF 发送至已配置的 Adobe Experience Manager 服务器,以便进行处理。最终结果是启用带有 Reader Extensions 的 PDF 文件,并从转换的 PDF 文件中移除标记指示符。“处理已标记文件”操作支持多线程,可将多个 PDF 文件发送至已配置的 Adobe Experience Manager 服务器。需相应调节 Adobe Experience Manager 服务器,以便同时支持多个转换 PDF 文件的请求。要使已配置的 Adobe Experience Manager 服务器处理所有已标记的 PDF 文件,应从 Windchill shell 中调用以下命令:
windchill com.ptc.wvs.server.util.livecycle.LiveCyclePDFConversionUtility
-process_marked-username=<site username> -password=<site password>
处理已标记的 PDF 文件时,“方法服务器”日志中将出现日志消息,显示转换的整个过程。如果转换失败,将在“方法服务器”日志中显示一条消息,描述在 Windchill 系统中标识该 PDF 文件的所有必要信息。以下为“方法服务器”日志中显示的失败转换的示例,其中 PDF 文件不允许页面修改:
[Begin processing batch #1] - Size=10
Exception: ApplicationData=wt.content.ApplicationData:118012 (Cant_Modify_Set.pdf)
DerivedImage=wt.viewmarkup.DerivedImage:118010 (cant_modify)
Representable=wt.part.WTPart:118006 (0000000099, cant_modify, A.1)
Container=wt.pdmlink.PDMLinkProduct:84802 (ProductView Demo)

Caused by: javax.xml.ws.soap.SOAPFaultException: com.adobe.livecycle.assembler.client.ProcessingException: ALC-ASM-S00-002:
Failed to execute the DDX - error messages provided.
Caused by: com.adobe.internal.pdfm.content.FormXObjectServiceException: PDFM_S06016:
Apply Watermark operation failed due to permissions on document "inDoc".
Caused by: com.adobe.internal.pdfm.util.PDFMPermissionException: PDFM_S00014: PAGE_MODIFY permission is required for this operation.;
可通过在执行转换的 Windchill shell 中执行 Ctrl + C 来中止“处理已标记文件”操作。执行 Ctrl + C 后,将花费 30 秒来中止转换。转换中止后,实用程序将显示一些常规统计信息,列出在该时间段处理了多少 PDF 文件。对于确定文件大小的增加程度以及处理大量 PDF 文件所需花费的时间来说,该信息非常有帮助。以下是中止转换时显示内容的示例:

*****************************************
Interrupting conversion - please wait
*****************************************
The LiveCycle PDF Conversion Utility has been interrupted. Conversions currently
executing have been interrupted and awaiting conversions have been aborted.


LiveCycle PDF Conversion has completed.
Total execution time: 1.248 minutes(s)
Average time to perform a single conversion: 14.762 second(s)
Number of PDFs successfully converted: 14
Number of failed conversions: 5
Number of timed out conversions: 0
Total file size of all PDFs before conversion: 2659.06 KB
Total file size of all PDFs after conversion: 3358.94 KB
Total file size increase: 699.88 KB
Percentage of total file size increase: %20.84
Average filesize increase per PDF: 49.99 KB

There are 18 remaining marked PDF file(s).

自定义 Experience Manager 委派
可使用“Adobe Experience Manager 委派自定义挂接”来定义类/方法,类/方法具有自定义执行功能,可动态生成 DDX 指令和关联内容的映射,此外,系统会将类/方法发送至已配置的 Adobe Experience Manager Assembler 服务以便进行处理。在应用任何水印或“阅读权限”前,都会调用此 Adobe Experience Manager Assembler 服务。
有关如何配置 Experience Manager 委派挂接的信息,请参阅 wvs.properties.xconf 文件中的 "Customization Hook: Experience Manager Delegate" 条目。有关此挂接的实现的示例可在 <Windchill> /prog_examples/wvs/com/ptc/wvs/LiveCycleDelegate.java 中找到。必须将特性 edrload.livecycle.delegate 设置为类/方法,其中的“方法”必须与下列签名相匹配:
package ext.customhooks;
class MyCustomClass {
public static LiveCycleInvocationParams getLiveCycleInvocationParams
(final Representable _representable, final File _pdf,
final Map _properties, final EDRLogger _logger) {

// Put custom code here. See example hook for Java Doc description of
inputs and outputs.
}
}

<Property name="edrload.livecycle.delegate" default="ext.customhooks.MyCustomClass/
getLiveCycleInvocationParams" />
用已配置的 Adobe Experience Manager 服务器更新 PDF 文件
从 Windchill 10.1 M010 开始,WVS 支持新的自定义委派,它负责生成所有必需的参数,以便使用已配置的 Adobe Experience Manager 服务器更新 PDF 文件。自定义委派负责针对 PDF 所做修改生成相关的 DDX 说明,并提供所有支持内容 (例如 PDF 封面页)。现有的阅读权限和 DDX 模板 (添加水印) 功能可与新委派结合使用。首先根据委派所定义的说明对 PDF 进行处理,然后 (如果启用) 再处理水印和/或应用阅读权限
为可表示对象的所给主要 (或附属) 内容生成 PDF 表示时,WVS 会调用可选委派来生成输入,然后使用该输入调用已配置的 Adobe Experience Manager Assembler 服务,以便在将该 PDF 文件存储到 Windchill 之前对其执行特定的更新。
使用 edrload.livecycle.delegate 特性配置 site.xconf 文件的示例委派。此特性会通过定义类/方法来提供自定义实施,以动态生成 DDX 说明和关联内容的映射,此外,类/方法会被发送至已配置的 Adobe Experience Manager Assembler 服务以便进行处理。在应用任何水印或“阅读权限”前,都会调用此 Adobe Experience Manager Assembler 服务。
出厂设置中提供了一个示例委派,配置后,将被部署到 <Windchill>/codebase。示例委派位于
<Windchill>/prog_examples/wvs/com/ptc/wvs/LiveCycleDelegate.java
创建文档封面页的示例配置步骤
要使用 WVS 配置 Adobe Experience Manager 服务器以创建 PDF 文档封面页,请执行以下步骤:
1. 使用 xconfmanager 实用程序 (位于 <Windchill>/bin 目录) 来编辑 wvs.properties.xconf 文件并设置下列特性:
设置 Adobe Experience Manager 服务器信息
<Property default=" http\://adobelc-host\:8080/soap/services/
AssemblerService " name="edrload.livecycle.assembler.serviceurl"/>
<Property default="$(edrload.livecycle.assembler.serviceurl)?WSDL&amp;
lc_version=9.0.0" name="edrload.livecycle.assembler.wsdlurl"/>
<Property default="PRODUCTVIEW R&amp;D" name="edrload.livecycle.
assembler.credentialalias"/>
<Property default="$(wt.home)$(wvs.dir.sep)livecycleauth.properties"
name="edrload.livecycle.authfile"/>
* 
使用上文步骤 #3 中的第四个特性。
设置 Adobe Experience Manager 委派及其方法以用于文档封面页
<Property name="edrload.livecycle.delegate"
default="com.ptc.coversheet.wvs.LiveCycleDelegate/getLiveCycleInvocationParams" />
发生变化后重新发布文档
<Property default="true" name="publish.republishondocumentchange"/>
2. Windchill\codebase\WEB-INF\conf\wvs.properties.xconf 中添加以下特性:
<Property default="OFFICE" name="worker..DOC">
<Property default="OFFICE" name="worker..PDF">
<Property default="OFFICE" name="worker..PPT">
<Property default="OFFICE" name="worker..XLS">
<Property default="OFFICE" name="worker..DOCX">
<Property default="OFFICE" name="worker..PPTX">
<Property default="OFFICE" name="worker..XLSX">
3. 在 <Windchill> 目录下创建 livecycleauth.properties 文件 (如步骤 #1 中所示),并在下方添加行。这是用于进行 Experience Manager 服务器验证的用户名和密码。有关配置的详细信息,请参阅本主题中的配置 Adobe Experience Manager 服务器一节。
4. 配置 OFFICE 工作器。有关工作器配置的指导,请参阅 Creo View MCAD Adapter Installation and Configuration Guide (《Creo View MCAD Adapter 安装和配置指南》)。
5. 如下所示安装 xconf:xconfManager -i <Windchill>\codebase\com\ptc\coversheet\template.properties.xconf
6. 传播全部特性:xconfManager -p
下图将展示 Experience Manager 委派与工作器之间相互作用的概念图解。