2012-05-09 7 views
4

Я работаю над внедрением HighStock/HighCharts на наш сайт, и мы хотим, чтобы пользователи могли экспортировать диаграммы, не отправляя данные на серверы HighCharts, чтобы отобразить jpg/pdf/svg и т. д. Единственная обертка ASP.NET, которую я мог найти, - this. Это хорошо работало на локальной демо-сборке, но интегрировать это в нашем сайт продукта дает пустую страницу для: http://oursite.com/path/where/called/HighchartsExport.axdИспользование библиотеки HighchartsExport для .Net Я получаю пустую страницу

После скудной документации, которую я проверил, что я добавил ссылку на 3 библиотеку DLL необходимо. На нашем сайте уже используется requestValidationMode (2.0). Поэтому я добавил только пункт HttpHandlers:

<add verb="POST" path="HighchartsExport.axd" type="Tek4.Highcharts.Exporting.HttpHandler, Tek4.Highcharts.Exporting"/> 

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

+0

FYI: В ядре Asp .net есть Microsoft.Aspnet.Nodeservices, через который мы можем запускать Highcharts ** новый ** node-export-server и возвращать диаграмму как изображение. Вы можете проверить примерную реализацию [using nodeservices] (https://davidsekar.com/angular/server-side-rendering-of-highcharts-in-net-core) –

ответ

0

Я столкнулся с аналогичной проблемой раньше, проблема была в части HTML-рендеринга, вызвавшей ошибку при экспорте. , если в HTML-диаграмме есть тег клипа, попробуйте удалить его перед экспортом.

+0

Не знаете, что вы имеете в виду. Это базовая линейная диаграмма (или любая базовая диаграмма ... используется в качестве примера). Если highcharts добавляет clipPath в SVG, то я не могу много сделать - я не добавляю его вручную. – wergeld

+0

проблема заключается в том, что вы не используете экспорт HighCharts, поэтому некоторые проблемы могут возникать при экспорте с использованием сторонних разработчиков. Некоторые из тегов, созданных HighCharts, не поняты другими инструментами экспорта. В моем случае я редактировал сгенерированный HTML во время выполнения, а затем экспортировал его, и он работал нормально. –

+0

Не совсем. Если бы я сделал автономный сайт и просто добавил статическую диаграмму + эту библиотеку экспорта .NET, я получаю экспорт. Но, интегрированный с нашим полным сайтом, он не экспортируется с одной и той же статической диаграммой. Таким образом, существует некоторый конфликт с нашими внутренними подразделениями, а также то, что ожидает библиотека .NET. – wergeld

1

Возможно, это поможет запустить chart.getSVG() перед отправкой SVG в экспорт-модуль ASP.NET. Это будет дезинфицировать SVG, представляющий диаграмму.

Если этот модуль экспорта asp не работает для вас, вы можете рассмотреть возможность использования PhantomJS и запустить команду оболочки с помощью Highcharts convert script для PhantomJS. Или, возможно, запустите этот скрипт как внутренний веб-сервер и выполните запрос POST из вашего приложения .NET. Вот как работает Java-сервер Highcharts в целом. Читайте больше на Highcharts, PhantomJS и экспортируете на изображения here

+0

Мы на самом деле пытались перейти на Java-сервер с высоким качеством передачи. У меня вопрос о попытке заставить его работать под Windows в последней сборке - он работал в январе, но похоже, что параметры конфигурации разные. – wergeld

+0

Да Highcharts обновил этот сервер. До того, как он использовал как Batik, так и PhantomJS под капотом, теперь только PhantomJS. Я ответил на ваш вопрос, кстати, [здесь] (http://stackoverflow.com/questions/16670730/highcharts-export-server-2-0-1-errors-under-windows/16737983#16737983). –

Смежные вопросы