AEM Forms提供一组OSGi服务来完成不同的文档级操作,例如,创建、组合、分发和存档PDF文档、添加数字签名以限制对文档的访问以及对条形码表单进行解码的服务。 这些服务包含在AEM Forms附加组件包中。 这些服务统称为文档服务。 可用文档服务及其主要功能列表如下:
汇编程序服务: 允许您组合、重新排列和扩充PDF和XDP文档,并获取有关PDF文档的信息。它还有助于将PDF文档转换为PDF/A标准,将PDF forms、XML表单和PDF forms转换为PDF/A-1b、PDF/A-2b和PDFA/A-3b。 有关更多信息,请参阅汇编程序服务。
ConvertPDF服务: 允许您将PDF文档转换为PostScript或图像文件(JPEG、JPEG 2000、PNG和TIFF)。有关更多信息,请参阅ConvertPDF Service。
条形码Forms服务: 允许您从条形码的电子图像中提取数据。该服务接受包含一个或多个条形码的TIFF和PDF文件作为输入,并提取条形码数据。 有关更多信息,请参阅条形码Forms服务。
DocAssurance服务: 允许您加密和解密文档,扩展具有其他使用权限的Adobe Reader功能,以及向文档添加数字签名。文档保障服务包含三项服务:签名、加密和读取器扩展。 有关详细信息,请参阅DocAssurance Service。
加密服务: 允许您加密和解密文档。文档加密后,其内容将变得不可读。 授权用户可以解密文档以获得对其内容的访问。 有关更多信息,请参阅Encryption Service。
Forms服务: 允许您创建交互式数据捕获客户端应用程序,以验证、处理、转换和交付通常在Forms Designer中创建的表单。Forms服务可呈现您开发为PDF文档的任何表单设计。 有关更多信息,请参阅Forms服务。
输出服务: 允许您创建不同格式的文档,包括PDF、激光打印机格式和标签打印机格式。激光打印机格式为PostScript和打印机控制语言(PCL)。 有关更多信息,请参阅输出服务。
PDF生成器服务: PDF生成器服务提供了API,可将本机文件格式转换为PDF。它还可将PDF转换为其他文件格式,并优化PDF文档的大小。 有关更多信息,请参阅PDF生成器服务。
Reader扩展服务: 通过扩展Adobe Reader的功能(具有其他使用权限),您的组织可以轻松共享交互式PDF文档。该服务可激活在使用Adobe Reader打开PDF文档时不可用的功能,例如向文档添加注释、填写表单和保存文档。 有关更多信息,请参阅Reader扩展服务。
签名服务: 允许您在AEM服务器上处理数字签名和文档。例如,签名服务通常用于以下情况:
签名服务访问存储在信任存储中的证书和凭据。 有关更多信息,请参阅签名服务。
AEM Forms是一个功能强大的企业级平台,而文档服务只是AEM Forms的一项功能。 有关功能的完整列表,请参阅AEM Forms简介。
AEM Forms附加组件包是部署在AEM上的应用程序。 通常,运行AEM Forms文档服务只需要一个AEM实例(创作或发布)。 建议使用以下拓扑来运行AEM Forms文档服务。 有关拓扑的详细信息,请参阅AEM Forms的架构和部署拓扑。
尽管AEM Forms允许您从单个服务器设置并运行所有功能,但您应该执行容量规划、负载平衡,并为生产环境中的特定功能设置专用服务器。 例如,对于使用PDF生成器服务来转换每天数千页的环境和用于捕获数据的多个自适应表单,为PDF生成器服务和自适应表单功能分别设置单独的AEM Forms服务器。 它有助于提供最佳性能,并可以相互独立地扩展服务器。
在开始安装和配置AEM Forms文档服务之前,请确保:
硬件和软件基础架构已到位。 有关支持的硬件和软件的详细列表,请参见技术要求。
AEM实例的安装路径不包含空格。
AEM实例已启动且正在运行。 在AEM术语中,“实例”是在创作或发布模式下的服务器上运行的AEM的副本。 通常,运行AEM Forms文档服务只需要一个AEM实例(创作或发布):
满足内存要求。 AEM Forms附加组件包需要:
安装了PDF生成器在Microsoft Windows和Linux上执行转换所需的客户端软件:
如果您使用基于UNIX的操作系统,请从相应操作系统的安装介质安装以下软件包:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(仅限PDF生成器)安装32位版本的libcurl、libcrypto和libssl库,并创建以下符号链接。符号链接指向相应库的最新版本:
(仅限PDF生成器) PDF生成器服务支持通过WebKit和PhantomJS路由将HTML文件转换为PDF文档。要启用PhantomJS路由的转换,请安装下面列出的64位库。 通常,这些库已安装。 如果缺少任何库,请手动安装:
安装前配置部分中列出的配置仅适用于PDF生成器服务。 如果未配置PDF生成器服务,则可以跳过安装前配置部分。
如果您要使用PDF生成器服务将本机文件格式(如Microsoft Word、Microsoft Excel、Microsoft PowerPoint、OpenOffice、WordPerfect X7和Adobe Acrobat)转换为PDF文档,请确保这些应用程序已安装在AEM Forms服务器上。
安装Acrobat后,打开Microsoft Word。 在Acrobat选项卡上,单击创建PDF,然后将计算机上可用的.doc或.docx文件转换为PDF文档。 如果转换成功,AEM Forms便可将Acrobat与PDF生成器服务结合使用。
为32位和64位Java开发工具包、第三方应用程序和Adobe Acrobat设置环境变量。 环境变量应包含用于启动相应应用程序的可执行文件的绝对路径,例如,下表列出了一些应用程序的环境变量:
应用程序 |
环境变量 |
示例 |
JDK(64位) |
JAVA_HOME |
C:\Program Files\Java\jdk1.8.0_74 |
JDK(32位) |
JAVA_HOME_32 |
C:\Program Files (x86)\Java\jdk1.8.0_74 |
Adobe Acrobat |
Acrobat_PATH |
C:\Program Files (x86)\Adobe\Acrobat 2015\Acrobat\Acrobat.exe |
记事本 |
Notepad_PATH |
C:\WINDOWS\notepad.exe |
OpenOffice |
OpenOffice_PATH |
C:\Program Files (x86)\OpenOffice.org4 |
所有环境变量和相应的路径都区分大小写。
JAVA_HOME、JAVA_HOME_32和Acrobat_PATH(仅限Windows)是必需的环境变量。
环境变量OpenOffice_PATH设置为安装文件夹,而不是可执行文件的路径。
请勿为Microsoft Office应用程序(如Word、PowerPoint、Excel和Project)或AutoCAD设置环境变量。 如果这些应用程序安装在服务器上,则“生成PDF”服务会自动启动这些应用程序。
在基于UNIX的平台上,将OpenOffice安装为/root。 如果OpenOffice未作为根安装,则PDF生成器服务无法将OpenOffice文档转换为PDF文档。 如果您需要以非根用户身份安装和运行OpenOffice,请为非根用户提供sudo权限。
如果您在基于UNIX的平台上使用OpenOffice,请运行以下命令以设置路径变量:
export OpenOffice_PATH=/opt/openoffice.org4
执行以下步骤以配置IBM SSL套接字提供程序:
创建java.security文件的副本。 文件的默认位置为[WebSphere_installation_directory]\Appserver\java_[version]\jre\lib\security
。
打开复制的java.security文件进行编辑。
更改默认的SSL套接字工厂以使用JSSE2工厂,而不是默认的IBM WebSphere工厂:
默认内容:
#ssl.SocketFactory.provider=com.ibm.jsse2.SSLSocketFactoryImpl
#ssl.ServerSocketFactory.provider=com.ibm.jsse2.SSLServerSocketFactoryImpl
#WebSphere socket factories (in cryptosf.jar)
ssl.SocketFactory.provider=com.ibm.websphere.ssl.protocol.SSLSocketFactory
ssl.ServerSocketFactory.provider=com.ibm.websphere.ssl.protocol.SSLServerSocketFactory
修改的内容:
ssl.SocketFactory.provider=com.ibm.jsse2.SSLSocketFactoryImpl
ssl.ServerSocketFactory.provider=com.ibm.jsse2.SSLServerSocketFactoryImpl
#WebSphere socket factories (in cryptosf.jar)
#ssl.SocketFactory.provider=com.ibm.websphere.ssl.protocol.SSLSocketFactory
#ssl.ServerSocketFactory.provider=com.ibm.websphere.ssl.protocol.SSLServerSocketFactory
要启用AEM Forms服务器以使用更新的java.security文件,请在启动AEM Forms服务器时,添加以下java参数:
-Djava.security.properties= [path of newly created Java.security file].
如果运行的是Microsoft Windows Server,请配置Ink and Sharting服务。 使用Microsoft Office的链接功能打开Microsoft PowerPoint文件时需要该服务:
更改Microsoft Office信任中心设置,以启用PDF生成器服务来转换使用旧版Microsoft Office创建的文件。
打开Microsoft Office应用程序。 例如,Microsoft Word。 导航到File> Options。 将出现“选项”对话框。
单击信任中心,然后单击信任中心设置。
在信任中心设置中,单击文件块设置。
在文件类型列表中,取消选择打开以获取应允许PDF生成器服务转换为PDF文档的文件类型。
用于启动应用程序服务器的用户帐户需要替换进程级别令牌权限。 默认情况下,本地系统帐户具有替换进程级别令牌权限。 对于使用本地管理员组的用户运行的服务器,必须明确授予该权限。 执行以下步骤以授予权限:
您可以允许非管理员用户使用PDF生成器服务。 通常,只有具有管理权限的用户才能使用该服务:
要访问系统配置实用程序,请转到开始>运行,然后输入MSCONFIG。
单击工具选项卡并向下滚动并选择更改UAC设置。 单击Launch在新窗口中运行命令。
将滑块调整到“从不通知”级别。 完成后,关闭命令窗口并关闭系统配置窗口。
验证UAC的注册表设置是否设置为0(零)。 执行以下步骤以验证:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\system\
。确保将EnableLUA的值设置为0(零)。重新启动计算机。
在Windows Server上使用PDF生成器服务将文档转换为PDF时,Windows Server有时会报告可执行文件遇到问题,需要关闭。 但是,它不会影响PDF转换,因为它会在后台继续显示。
为避免收到错误,您可以禁用Windows错误报告。 有关禁用错误报告的更多信息,请参阅https://technet.microsoft.com/en-us/library/cc754364.aspx。
PDF生成器服务提供WebKit、WebCapture和PhantomJS路由或方法,以将HTML文件转换为PDF文档。 在Windows上,要为WebKit和Acrobat WebCapture路由启用转换,请将Unicode字体复制到%windir%\fonts目录。
每当将新字体安装到字体文件夹时,请重新启动AEM Forms实例。
在基于UNIX的平台上,PDF生成器服务支持WebKit和PhantomJS路由,以将HTML文件转换为PDF文档。 要启用HTML到PDF的转换,请执行适用于您首选的转换路由的以下配置:
根据您的系统,将Unicode字体复制到以下任意目录:
AEM Forms附加组件包是部署在AEM上的应用程序。 该包包含AEM Forms文档服务和其他AEM Forms功能。 请执行以下步骤以安装包:
打开 Software Distribution。您需要 Adobe ID 才能登录 Software Distribution。
点按标题菜单中的 Adobe Experience Manager。
在Filters部分中:
点按适用于您的操作系统的包名称,选择接受EULA条款,然后点按下载。
打开包管理器,并单击上传包以上传包。
选择包并单击Install。
您还可以通过AEM Forms版本文章中列出的直接链接下载包。
安装包后,系统会提示您重新启动AEM实例。 不要立即停止服务器。 在停止AEM Forms服务器之前,请等待ServiceEvent REGISTERED和ServiceEvent UNEXIGNED消息停止出现在.log [AEM-Installation-Directory]/crx-quickstart/logs/error
文件中,并且日志稳定。
停止AEM实例。 导航到[AEM安装目录]\crx-quickstart\conf\ folder。 打开sling.properties文件进行编辑。
如果您使用[AEM installation directory]\crx-quickstart\bin\start.bat
启动AEM实例,请编辑位于[AEM_root]\crx-quickstart\
的sling.properties。
将以下属性添加到sling.properties文件:
sling.bootdelegation.class.com.rsa.jsafe.provider.JsafeJCE=com.rsa.*
sling.bootdelegation.class.org.bouncycastle.jce.provider.BouncyCastleProvider=org.bouncycastle.*
(仅限AIX)将以下属性添加到sling.properties文件:
sling.bootdelegation.xerces=org.apache.xerces.*
保存并关闭文件。
以管理员身份登录到AEM Configuration Manager。
找到并打开CQ-DAM-Handler-Gibson字体管理器服务。 指定System Fonts 、 Customer Server Fonts和Customer Fonts目录的路径。 单击保存。
您使用Adobe以外各方提供的字体的权利受此类各方向您提供的这些字体的许可协议约束,而且您使用Adobe软件的许可不涵盖这些权利。 Adobe建议您在将非Adobe字体与Adobe软件结合使用之前,先查看并确保遵守所有适用的非Adobe许可协议,特别是在服务器环境中使用字体时。
将新字体安装到字体文件夹后,请重新启动AEM Forms实例。
运行PDF生成器服务需要本地用户帐户。 有关创建本地用户的步骤,请参阅在Windows中创建用户帐户或在基于UNIX的平台中创建用户帐户。
打开AEM Forms PDF生成器配置页面。
在用户帐户选项卡中,提供本地用户帐户的凭据,然后单击提交。 如果Microsoft Windows出现提示,则允许访问用户。 成功添加后,配置的用户将显示在用户帐户选项卡的您的用户帐户部分下。
在AEM配置管理器中,找到并打开Jacorb ORB提供程序服务。
在Custom Properties.name字段中添加以下内容,然后单击Save。 它将挂起的回复超时(也称为CORBA客户端超时)设置为600秒。
jacorb.connection.client.pending_reply_timeout=600000
登录到AEM创作实例,然后导航到Adobe Experience Manager > 工具 > Forms > 配置PDF生成器。 默认URL为http://localhost:4502/libs/fd/pdfg/config/ui.html。
打开General Configuration选项卡,并修改环境的以下字段值:
字段 | 描述 | 默认值 |
服务器转换超时 | PDFG转换在“服务器转换超时”中定义的秒数内保持活动状态 | 270秒 |
PDFG 清理扫描秒数 | 执行转换后操作所需的秒数。 |
3600秒 |
作业盗取秒数 | 允许PDF生成器服务运行转换的持续时间。 确保作业过期秒数的值大于PDFG清理扫描秒数值。 | 7200秒 |
在Microsoft Windows上,PDF生成器服务使用Adobe Acrobat将支持的文件格式转换为PDF文档。 执行以下步骤来为PDF生成器服务配置Adobe Acrobat:
打开Acrobat,然后选择编辑> 首选项> 更新程序。 在检查更新中,取消选择自动安装更新,然后单击确定。 关闭Acrobat。
双击系统上的PDF文档。 当Acrobat首次启动时,将显示登录、欢迎屏幕和EULA对话框。 为配置为使用PDF生成器的所有用户关闭这些对话框。
运行PDF生成器实用程序批处理文件,为PDF生成器服务配置Acrobat:
打开AEM包管理器并从包管理器下载adobe-aemfd-pdfg-common-pkg-[version].zip
文件。
解压缩下载的.zip文件。 使用管理权限打开命令提示符。
导航到[extracted-zip-file]\jcr_root\etc\fd\pdfg\tools\adobe-aemfd-pdfg-utilities-[version]-win.zip\scripts
目录。 运行以下批处理文件:
Acrobat_for_PDFG_Configuration.bat
Acrobat配置为随PDF生成器服务一起运行。
运行系统就绪工具(SRT)以验证Acrobat安装。 该工具检查计算机是否配置正确以运行PDF生成器转换,并在指定路径下生成报告:
打开命令提示符。 导航到[extracted-adobe-aemfd-pdfg-common-pkg]\jcr_root\etc\fd\ pdfg\tools\adobe-aemfd-pdfg-utilities-[version]-win.zip\srt
文件夹。 在命令提示符下运行以下命令:
cscript SystemReadinessTool.vbs [Path_of_reports_folder] en
如果系统就绪工具报告pdfgen.api文件在acrobat插件文件夹中不可用,请将pdfgen.api文件从[extracted-adobe-aemfd-pdfg-common-pkg]\plugins\x86_win32
目录复制到[Acrobat_root]\Acrobat\plug_ins
目录。
导航到 [Path_of_reports_folder]
。打开SystemReadinessTool.html文件。 验证报告并修复上述问题。
PDF生成器服务提供了多条路由,可将HTML文件转换为PDF文档:Webkit、Acrobat WebCapture(仅限Windows)和PhantomJS。 Adobe建议使用PhantomJS路由,因为它能够处理动态内容,并且不依赖于32位库、32位JDK,或者不需要额外的字体。 此外,PhantomJS路由不需要sudo或root访问权限即可运行转化。
HTML到PDF转换的默认主要路由是Webkit。 要更改转化路线,请执行以下操作:
在AEM创作实例上,导航到工具> Forms> 配置PDF生成器。
在常规配置选项卡中,从用于HTML到PDF转换的主路由下拉菜单中选择首选转换路由。
使用信任存储管理,您可以导入、编辑和删除您信任的服务器上用于验证数字签名和证书身份验证的证书。 您可以导入和导出任意数量的证书。 导入证书后,您可以编辑信任设置和信任存储类型。 执行以下步骤以初始化信任存储:
DocAssurance服务可以对PDF文档应用使用权限。 要对PDF文档应用使用权限,请配置证书。
在设置证书之前,请确保您具有:
证书文件(.pfx)。
随证书提供的私钥密码。
私钥别名. 您可以执行Java keytool命令来查看私钥别名:
keytool -list -v -keystore [keystore-file] -storetype pkcs12
密钥库文件密码。 如果您使用的是Adobe的Reader扩展证书,则Keystore文件密码始终与私钥密码相同。
请执行以下步骤来配置证书:
以管理员身份登录到AEM创作实例。 转到工具 > 安全 > 用户。
单击用户帐户的name字段。 此时将打开“编辑用户设置”页。在AEM创作实例中,证书位于KeyStore中。 如果您之前尚未创建KeyStore,请单击创建KeyStore并为KeyStore设置新密码。 如果服务器已包含KeyStore,请跳过此步骤。 如果您使用的是Adobe的Reader扩展证书,则Keystore文件密码始终与私钥密码相同。
在编辑用户设置页面上,选择KeyStore选项卡。 展开从密钥存储文件添加私钥选项并提供别名。 别名用于执行Reader扩展操作。
要上传证书文件,请单击选择密钥存储文件并上传<filename>.pfx文件。
将与证书关联的密钥存储密码、私钥密码和私钥别名添加到相应的字段。 单击Submit。
在生产环境中,将您的评估凭据替换为生产凭据。 在更新过期或评估凭据之前,请确保删除旧的Reader扩展凭据。
单击编辑用户设置页面上的保存并关闭。
要对PDF文件使用AES 256加密,请获取并安装Java加密扩展(JCE)无限强度管辖策略文件。 替换jre/lib/security文件夹中的local_policy.jar和US_export_policy.jar文件。 例如,如果您使用Sun JDK,请将下载的文件复制到[JAVA_HOME]/jre/lib/security
文件夹中。
汇编程序服务依赖于Reader扩展服务、签名服务、Forms服务和输出服务。 执行以下步骤以验证所需的服务是否已启动且正在运行:
https://'[server]:[port]'/system/console/bundles
。服务名称 | 包名称 |
---|---|
签名服务 | adobe-aemfd-signatures |
Reader 扩展服务 | com.adobe.aemfd.adobe-aemfd-readerextensions |
表单服务 | com.adobe.livecycle.adobe-lc-forms-bedrock-connector |
输出服务 | com.adobe.livecycle.adobe-lc-forms-bedrock-connector |
如果压缩的输入文件在文件名中包含双字节字符的HTML文件,则HTML到PDF的转换会失败。 要避免出现此问题,请在命名HTML文件时不要使用双字节字符。
在基于UNIX的操作系统上,执行以下操作以查找任何缺少的库:
导航到 [crx-repository]/bedrock/svcnative/HtmlToPdfSvc/bin/
。
运行以下命令以列出PhantomJS在从HTML转换到PDF时需要的所有库。
ldd phantomjs
运行以下命令以列出缺少的库。
ldd phantomjs | grep not
手动安装缺少的库。
您有一个可用的AEM Forms文档服务环境。 您可以通过以下方式使用文档服务: