Существует программный продукт под названием AnyChart, который является большим для встраивания Высвеченных основанных диаграмм в веб-страницах. AnyCharts может также экспортировать в формат файла PNG. Вот пример:
<script type="text/javascript" language="javascript">
//<![CDATA[
var chart = new AnyChart('http://www.mysite.com/swf/AnyChart.swf');
chart.width = 600;
chart.height = 300;
chart.setXMLFile('http://www.mysite.com/anychart.xml');
chart.addEventListener("draw", function() { saveChartAsImage(chart); });
chart.write("content-box");
//]]>
</script>
Моя конечная цель должна сделать автоматизированный сервис для экспорта диаграмм AnyChart в формат PNG. Таким образом, я сделал сервис с Инди, которая называет страницы, содержащие AnyChart javascript. Но проблема, кажется, что Инди не может выполнить JavaScript.
Существует ли способ позволить Инди выполнить JavaScript?
Нет, Indy не выполняет Javascript. Вы также могли заметить, что он не анализирует и не отображает HTML, и он также не запускает Flash. Indy выполняет сетевые протоколы.
Вы можете импортировать объект Microsoft Script Control ActiveX и заставить его выполнять ваш Javascript. Если вам нужны подробности об этом, задайте новый вопрос.
Вам не обязательно использовать Indy для этого. Если вы хотите, вы можете использовать TWebBrowser. В интерфейсе IHTMLWindow2 есть функция execScript. Так что вы можете :
var
Doc : IHTMLDocument2;
Win : IHTMLWindow2;
aBrowser : TWebBrowser;
//...
begin
//...
Doc := aBrowser.Document as IHTMLDocument2;
Win := Doc.parentWindow;
Win.execScript('alert(SomeMessage);', 'JavaScript');
end;
Вы пробовали vcl FOR THE web (aka Intraweb atozed)? Есть версия teechart, которая довольно полезна, вы также можете выполнять "внешний" код javascript в любой из TiwForms вашего веб-приложения (точно такой же код вы используете сейчас).
Задайте новый вопрос, если нужно, и я буду рад помочь.