提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|使用教程|编辑:李显亮|2020-08-31 10:50:54.053|阅读 480 次
概述:HTML文档是用超文本标记语言(HTML)编写的。它用于创建相对简单但设计精美的文档。在本文中,将介绍如何从Delphi / C ++ Builder / Lazarus创建HTML / HTML5分层文件。
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
相关链接:
报表生成器FastReport VCL是用于在软件中集成商务智能的现代解决方案。它提供了可视化模板设计器,可以访问最受欢迎的数据源,报告引擎,预览,将过滤器导出为30多种格式,并可以部署到云,Web,电子邮件和打印中。
近日,FastReport VCL更新至v6.7,在新版本中,添加了对最新版本IDE的支持,简化了用于付款标准的条形码的创建,新增从预览窗口直接编辑RichView的功能,同时修复了多个Bug问题。欢迎下载体验。(点击下方按钮下载)
"如何从Delphi中以HTML文件格式保存?"、"如何从Delphi中创建HTML 5文件?"、"如何从Lazarus中创建HTML 5文件?" - 这些问题经常在开发人员中出现。
HTML文件是用超文本标记语言(HTML)编写的。它的作用是创建相对简单但设计精美的文档。从一开始就谈论HTML是没有意义的。但值得纠结的是一些功能--HTML可以是不同的--有表格和分层布局,HTML 4和HTML 5标准。
由于HTML5,网页已经学会了在用户的浏览器中本地存储数据,这允许你拒绝HTTP cookie。内容的传递更快、更安全。HTML5还简化了跨浏览器的过程,增加了对矢量图形的支持,无需Silverlight或Flash等第三方程序。
①如果你只需要显示一个页面一次,而且格式不是很重要,那么最好的选择是使用标签--前提是至少在你的脑海中已经建立了整个生成的HTML文件的模型。,
- 太简单了! 甚至可以使用 writeln(...)! 这种方法的优点是,你可以立即将文件上传到FTP,它将出现在网站上,任何浏览器都能打开它。但也有缺点--这个文件不是用来打印的(!),而且每个浏览器的显示方式都不一样,甚至同一个浏览器的屏幕分辨率也不一样。
②专门的库。delphihtmlcomponents有一个可视化编辑器,并宣称完全支持HTML 4.1和CSS 3.但目前来看在HiDPI上并不好看。
③使用FastReport VCL将Delphi中的内容立即保存为HTML。我们创建任何种类和大小的文档,多页,多尺寸,我们可以立即看到并评估文档,然后再以HTML格式保存。还有大量的附加对象--条形码、地图、图片、图形基元。现在你可以把它发送到HTML/HTML5 Layered!
我们到底应该用Delphi创建哪种HTML?表格式还是分层式?HTML还是HTML5?让我们仔细看看它们的设置。
此时,我们应该已经组装好了一个带有导出组件的项目。启动、查看并从预览中保存它。现在是时候从预览中调用导出并选择所需的格式了。
导出参数足够丰富。我们可以保存整个文档,而不是只保存一个HTML页面。它将包括样式、同一文件夹中的附加文件、导航器等很多很多。
这里的特殊之处在于,导出本身可以由多个文件组成,它支持图片,并将其保存为不同的文件,但外观和文件大小非常依赖于报表模板。
下面是每种格式的设置,可以进行比较。
FastReport工具可以帮助我们选择要导出文档的哪些页面、特定页面或范围。导出设置包括:
我们还可以指定文件的发送位置--保存在本地存储或上传到云端或FTP,或者以电子邮件的形式发送。
最后,导出后打开--导出后生成的文件将立即被默认的HTML浏览器打开。设置完毕后,我们终于可以按 "确定 "按钮了。准备好了!
好了,这里我们已经介绍了如何从Delphi中保存一个HTML / HTML5分层文件。
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和HTML5文件的属性。这些文件的大小是显而易见的。导出为HTML格式的文档基本上比HTML5小2倍。现在让我们比较浏览器中保存的文档的外观:
普通的HTML文件不会显示诸如框架及其阴影框阴影之类的元素。
如果使文档更复杂,则这种区别将更加明显。让我提醒您,此导出不只支持不同的标准-我们正在处理创建HTML的不同方法。在第一种情况下,使用的是固定表-当然,这个示例更面向表。例如,如果我们需要带有插图的报告,则结果将大不相同。
让我们看一下在FastReport报表中使用地图的示例。区别很明显!
让我们看看HTML页面的另一面,并出于说明目的查看其代码。
还想要更多吗?您可以点击阅读【FastReport 报表2020最新资源盘点】,查找需要的教程资源。如果您有任何疑问或需求,请随时加入FastReport技术交流群(783996712),我们很高兴为您提供查询和咨询。
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn
本文探讨 SQL Server 中 NULL 和空值之间的区别,并讨论如何有效地处理它们。
Unity 是一款功能极其丰富的游戏引擎,允许开发人员将各种媒体集成到他们的项目中。但是,它缺少最令人兴奋的功能之一 - 将 Web 内容(例如 HTML、CSS 和 JavaScript)直接渲染到 3D 场景中的纹理上的能力。在本文中,我们将介绍如何使用 DotNetBrowser 在 Unity3D 中将 Web 内容渲染为纹理。
DevExpress v24.2帮助文档正式发布上线了,请按版本按需下载~
本教程将向您展示如何用MyEclipse构建一个Web项目,欢迎下载最新版IDE体验!
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@pclwef.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢