Проблема при экспорте в HTML. Версия FastReport 2014.3.2.0
Версия FastReport 2014.3.2.0. Проект не поддерживает Core.
При попытке генерации отчёта в формат HTML создаётся страница, в которой отсутствуют картинки и теги img в принципе.
Описание проблемы:
Нужно сгенерировать НТМЛ файл в котором будут присутствовать картинки, либо в виде включений data:image, либо как ссылки на внешний ресурс.
Со стороны файла frx:
<PictureObject Name="Picture1" Left="28.35" Top="37.8" Width="75.6" Height="75.6" Image="someimageheresomeimageheresomeimageheresomeimageheresomeimageheresomeimageheresomeimageheresomeimageheresomeimageheresomeimagehere=="/>
<PictureObject Name="Picture2" Left="226.8" Top="37.8" Width="75.6" Height="75.6" ImageLocation="https://www.fastreport.ru/uploads/cache/productthumb/uploads/products/logocolor/fca8305428f654d25339171b125fb321.png"/>
Со стороны бекэнда
public void ExportToMemoryStreamHtml(ExportTypes exportType, MemoryStream stream, bool pictures)
{
HTMLExport html = null;
Report rpt = new Report();
try
{
SetupReport(rpt); // в этом методе - report.Load(fileName) ; report.Report.Dictionary.Connections[0].ConnectionString = ""; foreach (FrxParameter p in _frxParameters){ report.Report.SetParameterValue(p.Name, p.Value);} ; report.Prepare();
if (exportType.Equals(ExportTypes.Html))
{
html = new HTMLExport();
html.Pictures = true;
html.SinglePage = true;
html.Navigator = false;
}
rpt.Export(html, stream);
}
finally
{
rpt.Dispose();
if (html != null) html.Dispose();
}
}
~~~~~~~~
stream.ToArray();
//
------------------
Картинки не включаются в поток html файла. Что с нашей стороны делается неверно? Уже перепробовал все возможные флаги, даже прописывал html.SubFolder = false; html.ImageFormat = ImageFormat.Jpeg; html.SaveStreams = true;.
Не помогает.
В коде генерируемой страницы нет тегов img
Реально ли сгенерировать ХТМЛ страницу для выгрузки в поток byte[] со включенными в неё картинками?
Комментарии
Пожалуйста, попробуйте протестировать используя актуальную версию. Вы можете использовать Demo версию для тестов.
Насколько я понял, FastReport предполагает, что вебстраница с картинками - это либо файл НТМЛ + совокупность файлов картинок, либо файл вебархива *.MHT.
Я подозреваю, что нет настройки, позволяющей FastReport из .frx генерировать вед-страницу со ссылками на внешние ресурсы, либо с тегами, содержащими тела файлов картинок...
Я прав? Просто поддержка формата МНТ браузерами - неполная. Хром не отображает картинки, мозилла и эдж предлагают открыть МНТ с помощью ИЕ.. МНТ хорош и почти отвечает моим задачам, но не вызовет ли он проблемы у каких-либо пользователей?
Актуальная версия основывается на .Net Core, нам увы это не подходит...
Если отправить на экспорт в frx, содержащий изображения, есть ли такой режим, в котором результат можно представить 1 файлом типа HTML? Можло ли выбрать такие настройки, чтобы картинки записались прямо в файл HTML или ссылались на интернет-урлы?
На актуальной версии есть решение как для .Net Framework, так и на .Net Core.
У нас есть так же и MHT экспорт, если он вам нужен (FastReport.Export.Mht.MHTExport).
Если картинки не сохраняются в HTML, попробуйте поизменять свойства, например, включите "HTMLExport.EmbedPictures".