Какая недостающая часть головоломки при экспорте изображений из FusionCharts? - PullRequest
1 голос
/ 25 мая 2011

Я пытаюсь заставить FusionCharts экспортировать.

У меня есть, кроме файлов XML, которые указывают registerWithJS = "1",

<script type="text/javascript" src="FusionCharts/FusionCharts.js"></script>
<script type="text/javascript" src="FusionCharts/FusionChartsExportComponent.js"></script>

и

<div class="portlet" id="recent-portfolio-trends">
<div title="View graphs and charts of your portfolio." class="portlet-header">Recent Portfolio Trends</div>
<div class="portlet-content">
<!-- Trends -->
<span id="Trends-OS">FusionCharts will load here!</span>
<span id="Trends-Vol">FusionCharts will load here!</span>
<div id="fcexpDiv">FusionCharts Export Handler Component</div>
<div id="fcexpDiv2">FusionCharts Export Handler Component 2</div>
<script type="text/javascript">
    var myChart = new FusionCharts( "FusionCharts/MSColumn2D.swf", "column", "350", "220", "0", "1" );
        myChart.setXMLUrl("FusionCharts/trends-outstandings.xml");
        myChart.render("Trends-OS");

    var myExportComponent = new FusionChartsExportObject("fcExporter1", "FusionCharts/FCExporter.swf");
    myExportComponent.debugMode = true;
    myExportComponent.exportAttributes.exportAtClient = '1';
    myExportComponent.exportFilename = "Outstanding";
    myExportComponent.render("fcexpDiv");
</script>

<script type="text/javascript">
    var myChart = new FusionCharts( "FusionCharts/MSCombi2D.swf", "column", "350", "220", "0", "1" );
        myChart.setXMLUrl("FusionCharts/trends-volume.xml");
        myChart.render("Trends-Vol");

    var myExportComponent2 = new FusionChartsExportObject("fcExporter2", "FusionCharts/FCExporter.swf");
    myExportComponent2.debugMode = true;
    myExportComponent2.exportAttributes.exportAtClient = '1';
    myExportComponent.exportFilename = "Volume";
    myExportComponent2.render("fcexpDiv2");
</script>

Поиск Google предлагает в различных формах, что мне нужно указать registerWithJS как «1», возможно, в более чем одном месте, и что я должен получить диагностический код ошибки в предупреждении с debugMode, установленным в True. (Я не получаю оповещения или что-либо в консоли JavaScript Chrome.) Это обслуживается отдельным веб-сервером, поэтому это не проблема "защиты локальной файловой системы".

То, что я получаю, это две правильно отображенные диаграммы, плюс две кнопки с надписью «Ожидание» и никогда, по крайней мере, через несколько минут, не меняются, чтобы сказать что-либо еще. Если щелкнуть правой кнопкой мыши графики, в контекстном меню появятся «Печать диаграммы», «Копировать данные в буфер обмена», «О FusionCharts», «Настройки ...», «Глобальные настройки ...» и «О Adobe Flash Player 10.3. .181.14 ... ", но не варианты экспорта в формате JPG, PNG или PDF, которые должны быть доступны.

Предложения, что мне нужно сделать?

Ответы [ 2 ]

2 голосов
/ 25 мая 2011

Чтобы включить контекстное меню, связанное с экспортом, вам нужно установить как минимум три атрибута XML, связанных с экспортом. Это: exportEnabled, exportAtClient и exportHandler.

Следовательно, ваш trend-outstandings.xml будет содержать:

<chart exportEnabled='1' exportAtClient='1' exportHandler='fcExporter1' ...>

и trend-volume.xml будет содержать:

<chart exportEnabled='1' exportAtClient='1' exportHandler='fcExporter2' ...>

Также убедитесь, что вы используете последние версии FusionCharts.js и FusionChartsExportComponent.js.

0 голосов
/ 25 мая 2011

Пожалуйста, попробуйте установить exportEnabled = '1'

...