如何在LiveCycle Designer表单中动态加载图像和片段?

时间:2010-04-12 15:01:10

标签: adobe livecycle livecycle-designer

我创建了几个共享模板(.xdp),这些模板将在多个客户端之间共享。显然,每个客户都有自己的徽标,我想在表单生成时设置徽标。

虽然我不确定我的方法是否合适,但我已设法动态更改徽标。

在xml数据源中我有这个元素:

<ClientID>SomeNumber</ClientId>

在表单本身中,我使用此javascript代码设置图像href:

SomeHiddenTextField::calculate
HeaderLogo.value.image.href = $record.ClientID + "_logo.jpg";

我在服务器上存储的徽标与共享模板位于同一文件夹中。

这是一种动态加载徽标的方法吗?

我一直在尝试使用每个客户端的页脚片段实现相同的动态行为,但我一直无法弄清楚如何按需加载这些动态行为。我可以将每个页脚片段放入图像中,但如果可能的话我想避免使用它。

1 个答案:

答案 0 :(得分:1)

我通常知道动态加载图像我必须执行以下操作:

创建一个SOAP服务,该服务返回带有图像数据(base64)

的byte []

从LiveCycle调用服务:

var cURL = "http://host/path/MyService?wsdl"
var oService = SOAP.connect(cURL);
try {
    var cText = "";
    var myRequest;
    var cSOAPAction;
myRequest = { 
 myMethod: { 
 Param1:value
 };
cSOAPAction= "http://mynamespace/myMethod";
}
    var myNamespace = "http://mynamespace";

    var oResults = SOAP.request ({
        cURL: cURL,
        oRequest: oGetNameByIdRequest,
        cAction: cSOAPAction,
        bEncoded: false,  // If false then document/literal encoding will be used.
        cNamespace: myNamespace,
        cResponseStyle: SOAPMessageStyle.Message
    }); 
    HeaderLogo.rawValue = oResults[0].soapValue[0].soapValue;
...