2016-05-11 3 views
0

Я хочу знать, что можно изменить значение свойств полей в iReport, используя внешнее приложение Java.
Возможно ли изменить созданный файл iReport (jrxml) внешним приложением Java

Например, во-первых, я создаю имя отчета abc.jrxml. Вот часть XML-кода файла abc.jrxml.

<reportElement x="117" y="2" width="65" height="20" uuid="2f281676-e098-4213-b1d3-57b845960b2a"/> 

Я хочу, чтобы изменить это значение: х = "117" до й = "200". height = "20" до height = "25". Я хочу попробовать его с помощью java-команд. Это возможно или нет. Если возможно, как я могу это сделать.

+1

Вы можете использовать JasperReports API. Существует много примеров использования этой библиотеки –

+0

@AlexK Спасибо u sir –

+0

@PetterFriberg интересная ссылка. Спасибо, сэр.! –

ответ

2

Как отметил Алекс К., лучшим способом изменить атрибуты с помощью приложения Java является создание отчетов с помощью API отчетов Jasper.

Например, в одном ответе на http://community.jaspersoft.com/questions/525188/dynamic-width-textfied-parameter ширина объекта был изменен до того, как отчет был сгенерирован:

JasperDesign design = xmlLoader.loadXML(..jrxmlStream..); 
JRElement[] elements = design.getDetail().getElements(); 
String elementKey = ..key of element to modify..; 
int newWidth = ..new element width..; 
for (int i = 0; i < elements.length; i++) 
{ 
    JRDesignElement element = (JRDesignElement) elements[i]; 
    if (elementKey.equals(element.getKey())) { 
     element.setWidth(newWidth); 
    } 
} 

Вы можете использовать дополнительно setHeightsetX(), и setY() для изменения свойств элементов.

Более подробная информация представлена ​​здесь: http://community.jaspersoft.com/wiki/jasperreports-library-reference-materials

+0

@ tobi6 Спасибо, сэр. Вы решили мою проблему. –

+0

@MartinWickman Согласен с вами. –