Distiller®服务可将PostScript®、封装的PostScript(EPS)和PRN文件转换为通过网络压缩、可靠和更安全的PDF文件。 Distiller服务经常用于将大量打印文件转换为电子文件,如发票和报表。 将文档转换为PDF还允许企业向其客户发送文档的纸面版本和电子版本。
有关Distiller服务的更多信息,请参阅AEM Forms的服务参考。
本主题介绍如何使用Distiller服务API(Java和Web服务)以编程方式将PostScript(PS)、封装的PostScript(EPS)和PRN文件转换为PDF文档。
有关Distiller服务的更多信息,请参阅AEM Forms的服务参考。
要将PostScript文件转换为PDF文档,需要在托管AEM Forms的服务器上安装以下任一内容:Acrobat 9或Microsoft Visual C++ 2005可再发行包。
要将任何受支持的类型转换为PDF文档,请执行以下步骤:
包含项目文件
在开发项目中包含必需的文件。 如果您使用Java创建客户端应用程序,请包含必需的JAR文件。 如果您使用的是Web服务,请确保包含代理文件。
创建Distiller服务客户端
您必须先创建Distiller服务客户端,然后才能以编程方式执行Distiller服务操作。 如果您使用的是Java API,请创建一个DistillerServiceClient
对象。 如果您使用的是Web服务API,请创建一个DistillerServiceService
对象。
检索要转换的文件
必须检索要转换的文件。 例如,要将PS文件转换为PDF文档,必须检索PS文件。
调用PDF创建操作
创建服务客户端后,可以调用PDF创建操作。 此操作需要有关要转换的文档的信息,包括目标文档的路径。
保存PDF文档
您可以将PDF文档另存为PDF文件。
另请参阅
使用Distiller Service API(Java)将PostScript文件转换为PDF文档:
包括项目文件。
在Java项目的类路径中包含客户端JAR文件,如adobe-distiller-client.jar。
创建Distiller服务客户端。
ServiceClientFactory
对象。DistillerServiceClient
对象,并传递ServiceClientFactory
对象。检索要转换的文件。
java.io.FileInputStream
对象,该对象使用其构造函数并传递指定文件位置的字符串值来表示要转换的文件。com.adobe.idp.Document
对象,并传递java.io.FileInputStream
对象。调用PDF创建操作。
调用DistillerServiceClient
对象的createPDF
方法并传递以下值:
com.adobe.idp.Document
对象java.lang.String
对象,其中包含要转换的文件的名称java.lang.String
对象,其中包含要使用的Adobe PDF设置的名称java.lang.String
对象,其中包含要使用的安全设置的名称com.adobe.idp.Document
对象,其中包含在生成PDF文档时要应用的设置com.adobe.idp.Document
对象,其中包含要应用于PDF文档的元数据信息createPDF
方法返回一个CreatePDFResult
对象,该对象包含新的PDF文档和可能生成的日志文件。 日志文件通常包含由转换请求生成的错误或警告消息。
保存PDF文档。
要获取新创建的PDF文档,请执行以下操作:
CreatePDFResult
对象的getCreatedDocument
方法。 这会返回com.adobe.idp.Document
对象。com.adobe.idp.Document
对象的copyToFile
方法以提取PDF文档。同样,要获取日志文档,请执行以下操作。
CreatePDFResult
对象的getLogDocument
方法。 这会返回com.adobe.idp.Document
对象。com.adobe.idp.Document
对象的copyToFile
方法以提取日志文档。另请参阅
快速入门(SOAP模式):使用Java API将PostScript文件转换为PDF文档
使用Distiller Service API(Web服务)将PostScript文件转换为PDF文档:
包括项目文件。
创建使用MTOM的Microsoft .NET项目。 确保使用以下WSDL定义:http://localhost:8080/soap/services/DistillerService?WSDL&lc_version=9.0.1
。
将localhost
替换为托管AEM Forms的服务器的IP地址。
创建Distiller服务客户端。
使用其默认构造函数创建DistillerServiceClient
对象。
使用System.ServiceModel.EndpointAddress
构造函数创建DistillerServiceClient.Endpoint.Address
对象。 将指定WSDL的字符串值传递给AEM Forms服务(例如http://localhost:8080/soap/services/DistillerService?blob=mtom
。) 您无需使用lc_version
属性。 在创建服务引用时,会使用此属性。 但是,请指定?blob=mtom
以使用MTOM。
通过获取DistillerServiceClient.Endpoint.Binding
字段的值,创建System.ServiceModel.BasicHttpBinding
对象。 将返回值转换为BasicHttpBinding
。
将System.ServiceModel.BasicHttpBinding
对象的MessageEncoding
字段设置为WSMessageEncoding.Mtom
。 此值可确保使用MTOM。
通过执行以下任务,启用基本HTTP身份验证:
DistillerServiceClient.ClientCredentials.UserName.UserName
。DistillerServiceClient.ClientCredentials.UserName.Password
分配相应的密码值。HttpClientCredentialType.Basic
分配给字段BasicHttpBindingSecurity.Transport.ClientCredentialType
。BasicHttpSecurityMode.TransportCredentialOnly
分配给字段BasicHttpBindingSecurity.Security.Mode
。检索要转换的文件。
BLOB
对象的构造函数创建对象。 此BLOB
对象用于存储要转换为PDF文档的文件。System.IO.FileStream
对象的构造函数并传递一个字符串值,该字符串值表示文件位置和在中打开文件的模式。System.IO.FileStream
对象内容的字节数组。 您可以通过获取System.IO.FileStream
对象的Length
属性来确定字节数组的大小。System.IO.FileStream
对象的Read
方法并传递要读取的字节数组、开始位置和流长度,用流数据填充字节数组。BLOB
对象的MTOM
属性分配字节数组的内容来填充该对象。调用PDF创建操作。
调用DistillerServiceService
对象的CreatePDF2
方法并传递以下必需值:
BLOB
对象Standard
)No Securit
y)BLOB
对象,其中包含在生成PDF文档时要应用的设置BLOB
对象,其中包含要应用于PDF文档的元数据信息BLOB
输出参数BLOB
输出参数保存PDF文档。
System.IO.FileStream
对象的构造函数创建对象。 传递一个字符串值,该值表示已签名PDF文档的文件位置以及打开文件的模式。CreatePDF2
方法(输出参数)返回的BLOB
对象的内容。 通过获取BLOB
对象MTOM
数据成员的值来填充字节数组。System.IO.BinaryWriter
对象的构造函数并传递System.IO.FileStream
对象来创建该对象。System.IO.BinaryWriter
对象的Write
方法并传递字节数组,将字节数组的内容写入PDF文件。另请参阅