可视化报告生成器FastReport VCL功能指南:从Delphi / C ++ Builder / Lazarus创建HTML / HTML5分层文件

翻译|使用教程|编辑:李显亮|2020-08-31 10:50:54.053|阅读 26 次

概述:HTML文档是用超文本标记语言(HTML)编写的。它用于创建相对简单但设计精美的文档。在本文中,将介绍如何从Delphi / C ++ Builder / Lazarus创建HTML / HTML5分层文件。

# 购买正版开发软件送开发入门教材和电子资料,点击进入了解详情 #

相关链接:

报表生成器FastReport VCL是用于在软件中集成商务智能的现代解决方案。它提供了可视化模板设计器,可以访问最受欢迎的数据源,报告引擎,预览,将过滤器导出为30多种格式,并可以部署到云,Web,电子邮件和打印中。

近日,FastReport VCL更新至v6.7,在新版本中,添加了对最新版本IDE的支持,简化了用于付款标准的条形码的创建,新增从预览窗口直接编辑RichView的功能,同时修复了多个Bug问题。欢迎下载体验。(点击下方按钮下载)

点击下载最新版FastReport VCL

Fastreport在线下单立享85折起!赶紧加入购物清单吧!

"如何从Delphi中以HTML文件格式保存?"、"如何从Delphi中创建HTML 5文件?"、"如何从Lazarus中创建HTML 5文件?" - 这些问题经常在开发人员中出现。

HTML文件是用超文本标记语言(HTML)编写的。它的作用是创建相对简单但设计精美的文档。从一开始就谈论HTML是没有意义的。但值得纠结的是一些功能--HTML可以是不同的--有表格和分层布局,HTML 4和HTML 5标准。

由于HTML5,网页已经学会了在用户的浏览器中本地存储数据,这允许你拒绝HTTP cookie。内容的传递更快、更安全。HTML5还简化了跨浏览器的过程,增加了对矢量图形的支持,无需Silverlight或Flash等第三方程序。

从Delphi或Lazarus生成HTML的选项有哪些?

①如果你只需要显示一个页面一次,而且格式不是很重要,那么最好的选择是使用标签--前提是至少在你的脑海中已经建立了整个生成的HTML文件的模型。,
- 太简单了! 甚至可以使用 writeln(...)! 这种方法的优点是,你可以立即将文件上传到FTP,它将出现在网站上,任何浏览器都能打开它。但也有缺点--这个文件不是用来打印的(!),而且每个浏览器的显示方式都不一样,甚至同一个浏览器的屏幕分辨率也不一样。

②专门的库。delphihtmlcomponents有一个可视化编辑器,并宣称完全支持HTML 4.1和CSS 3.但目前来看在HiDPI上并不好看。

可视化报告生成器FastReport VCL功能指南:从Delphi / C ++ Builder / Lazarus创建HTML / HTML5分层文件

③使用FastReport VCL将Delphi中的内容立即保存为HTML。我们创建任何种类和大小的文档,多页,多尺寸,我们可以立即看到并评估文档,然后再以HTML格式保存。还有大量的附加对象--条形码、地图、图片、图形基元。现在你可以把它发送到HTML/HTML5 Layered!

保存时HTML和HTML5的区别

我们到底应该用Delphi创建哪种HTML?表格式还是分层式?HTML还是HTML5?让我们仔细看看它们的设置。

此时,我们应该已经组装好了一个带有导出组件的项目。启动、查看并从预览中保存它。现在是时候从预览中调用导出并选择所需的格式了。

导出参数足够丰富。我们可以保存整个文档,而不是只保存一个HTML页面。它将包括样式、同一文件夹中的附加文件、导航器等很多很多。

这里的特殊之处在于,导出本身可以由多个文件组成,它支持图片,并将其保存为不同的文件,但外观和文件大小非常依赖于报表模板。

可视化报告生成器FastReport VCL功能指南:从Delphi / C ++ Builder / Lazarus创建HTML / HTML5分层文件

下面是每种格式的设置,可以进行比较。

可视化报告生成器FastReport VCL功能指南:从Delphi / C ++ Builder / Lazarus创建HTML / HTML5分层文件可视化报告生成器FastReport VCL功能指南:从Delphi / C ++ Builder / Lazarus创建HTML / HTML5分层文件

FastReport工具可以帮助我们选择要导出文档的哪些页面、特定页面或范围。导出设置包括:

  • 样式--导出样式。当然,禁用此选项会加快导出过程,但会使文件的外观恶化。
  • All in one folder - 将所有附加文件与主文件 "index.html "保存在同一个文件夹中。
  • 页面导航--将创建一个特殊的导航器,以加快页面导航速度。
  • 固定宽度--当调整视图窗口大小时,阻止自动改变表格宽度。
  • 多页当选择该选项时,每个页面将被写入一个单独的文件。
  • 背景导出分配给报表页面的背景图形对象。

我们还可以指定文件的发送位置--保存在本地存储或上传到云端或FTP,或者以电子邮件的形式发送。

可视化报告生成器FastReport VCL功能指南:从Delphi / C ++ Builder / Lazarus创建HTML / HTML5分层文件可视化报告生成器FastReport VCL功能指南:从Delphi / C ++ Builder / Lazarus创建HTML / HTML5分层文件可视化报告生成器FastReport VCL功能指南:从Delphi / C ++ Builder / Lazarus创建HTML / HTML5分层文件

最后,导出后打开--导出后生成的文件将立即被默认的HTML浏览器打开。设置完毕后,我们终于可以按 "确定 "按钮了。准备好了!

好了,这里我们已经介绍了如何从Delphi中保存一个HTML / HTML5分层文件。

如何使用Delphi代码保存HTML?

Export to HTML

procedure TForm1.Button1Click(Sender: TObject);
begin
 {Generate a report. The report must be generated before exporting}
 frxReport1.PrepareReport();
 {Set the range of pages to export. By default, all pages of the generated report are exported}
 frxHTMLExport1.PageNumbers := '2-3';
 {Set whether to export styles}
 frxHTMLExport1.ExportStyles := True;
 { Set whether to export images to the same directory with the resulting html file, or place the images in a separate directory}
 frxHTMLExport1.PicsInSameFolder := False;
 {Set whether to add navigation buttons to the resulting html file}
 frxHTMLExport1.Navigator := False;
 {Set whether to export with a fixed column width or whether the report will be displayed according to the browser window width}
 frxHTMLExport1.FixedWidth := True;
 {Set whether to export each page to a separate html file}
 frxHTMLExport1.Multipage := False;
 {Set whether to export the background of the generated report}
 frxHTMLExport1.Background := False;
 {Set whether to export pictures}
 frxHTMLExport1.ExportPictures := True;
 {Set in which format to export pictures}
 //uses frxImageConverter;
 // TfrxPictureType = (gpPNG, gpBMP, gpJPG {$IFNDEF FPC}, gpGIF, gpEMF, gpWMF{$ENDIF})
 frxHTMLExport1.PictureType := gpPNG;
 {Set whether to open the resulting file after export}
 frxHTMLExport1.OpenAfterExport := False;
 {Set whether to display export progress
  (show which page is currently being exported)}
 frxHTMLExport1.ShowProgress := False;
 {Set whether to display the export filter settings dialog box}
 frxHTMLExport1.ShowDialog := False;
 {Set the name of the resulting file.}
 {Please note that if you do not set the file name and disable the export filter dialog box,}
 {the file name selection dialog will still be displayed}
 frxHTMLExport1.FileName := 'C:\Output\test.html';
 {Export the report}
 frxReport1.Export(frxHTMLExport1);
end;

Export to HTML (Layered)

procedure TForm1.Button2Click(Sender: TObject);
begin
 {Generate a report. The report must be generated before exporting}
 frxReport1.PrepareReport();
 {Set the range of pages to export. By default, all pages of the generated report are exported}
 frxHTML5DivExport1.PageNumbers := '2-3';
 {Set whether to export styles}
 frxHTML5DivExport1.EmbeddedCSS := True;
 {Set whether to convert all images in accordance with PictureFormat:}
 {if the image in the report is in BMP format and the PictureFormat is PNG, then BMP will be saved in PNG format}
 frxHTML5DivExport1.UnifiedPictures := True;
 {Set whether to format the HTML source text (increases the size of the resulting file)}
 frxHTML5DivExport1.Formatted := False;
 {Set whether to export pictures}
 frxHTML5DivExport1.EmbeddedPictures := True;
 {Set whether to export each page to a separate HTML5Div file}
 frxHTML5DivExport1.Multipage := False;
 {Set whether to add navigation buttons to the resulting HTML5Div file}
 frxHTML5DivExport1.Navigation := False;
 {Set in which format to export pictures}
 //uses frxExportHelpers;
 // TfrxPictureFormat = (pfPNG, {$IFNDEF FPC}pfEMF,{$ENDIF} pfBMP, pfJPG);)
 frxHTML5DivExport1.PictureFormat := pfPNG;
 {Set whether to open the resulting file after export}
 frxHTML5DivExport1.OpenAfterExport := False;
 {Set whether to display export progress
  (show which page is currently being exported)}
 frxHTML5DivExport1.ShowProgress := False;
 {Set whether to display the export filter settings dialog box}
 frxHTML5DivExport1.ShowDialog := False;
 {Set the name of the resulting file.}
 {Please note that if you do not set the file name and disable the export filter dialog box,}
 {the file name selection dialog will still be displayed}
 frxHTML5DivExport1.FileName := 'C:\Output\test.html';
 {Export the report}
 frxReport1.Export(frxHTML5DivExport1);
end;
让我们看一下结果HTML文件之间的区别。
可视化报告生成器FastReport VCL功能指南:从Delphi / C ++ Builder / Lazarus创建HTML / HTML5分层文件可视化报告生成器FastReport VCL功能指南:从Delphi / C ++ Builder / Lazarus创建HTML / HTML5分层文件

这些是已保存的HTML和HTML5文件的属性。这些文件的大小是显而易见的。导出为HTML格式的文档基本上比HTML5小2倍。现在让我们比较浏览器中保存的文档的外观:

可视化报告生成器FastReport VCL功能指南:从Delphi / C ++ Builder / Lazarus创建HTML / HTML5分层文件

普通的HTML文件不会显示诸如框架及其阴影框阴影之类的元素。

可视化报告生成器FastReport VCL功能指南:从Delphi / C ++ Builder / Lazarus创建HTML / HTML5分层文件

如果使文档更复杂,则这种区别将更加明显。让我提醒您,此导出不只支持不同的标准-我们正在处理创建HTML的不同方法。在第一种情况下,使用的是固定表-当然,这个示例更面向表。例如,如果我们需要带有插图的报告,则结果将大不相同。

让我们看一下在FastReport报表中使用地图的示例。区别很明显!

可视化报告生成器FastReport VCL功能指南:从Delphi / C ++ Builder / Lazarus创建HTML / HTML5分层文件可视化报告生成器FastReport VCL功能指南:从Delphi / C ++ Builder / Lazarus创建HTML / HTML5分层文件

让我们看看HTML页面的另一面,并出于说明目的查看其代码。

可视化报告生成器FastReport VCL功能指南:从Delphi / C ++ Builder / Lazarus创建HTML / HTML5分层文件
可视化报告生成器FastReport VCL功能指南:从Delphi / C ++ Builder / Lazarus创建HTML / HTML5分层文件

Fastreport在线下单立享85折起
!赶紧加入购物清单吧!

还想要更多吗?您可以点击阅读【FastReport 报表2020最新资源盘点】查找需要的教程资源。如果您有任何疑问或需求,请随时加入FastReport技术交流群(783996712),我们很高兴为您提供查询和咨询



标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,尊重他人劳动成果

登录 慧都网发表评论


暂无评论...

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
相关厂商
相关产品
FastReport VCL

用于快速高效地生成报表的附加组件

在线
客服
咨询
电话
400-700-1020
在线
QQ
购物车 反馈 返回
顶部
在线客服系统
live chat