Как динамически загружать изображения и фрагменты в формах LiveCycle Designer?

Я создал несколько общих шаблонов (.xdp), которые будут использоваться несколькими клиентами. Очевидно, у каждого клиента есть свой логотип, и я хотел бы установить логотип при создании формы.

Мне удалось изменить логотип динамически, хотя я не уверен, что мой подход хорош.

В источнике данных XML у меня есть этот элемент:

  SomeNumber  

В самой форме я установил изображение href с помощью этого кода JavaScript:

 SomeHiddenTextField:: высчитывает
HeaderLogo.value.image.href = $record.ClientID + "_logo.jpg"; 

Я храню логотипы на сервере в той же папке, что и общие шаблоны.

Это правильный подход для динамической загрузки логотипов?

Я пытался добиться такого же динамического поведения с каждым фрагментом нижнего колонтитула клиента, но я не смог понять, как загрузить их по требованию. Я мог бы сделать каждый фрагмент нижнего колонтитула в изображение, но я хотел бы избежать этого, если это возможно.

1 ответ

Я знаю, что для динамической загрузки изображений мне нужно было сделать следующее:

Создайте сервис SOAP, который возвращает байт [] с данными изображения (base64)

Позвоните в сервис из 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;
...
Другие вопросы по тегам