提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
转帖|对比评测|编辑:况鱼杰|2019-06-21 11:18:29.243|阅读 342 次
概述:本文章对比三款HTML5文档查看器,最终选出干净简便的文档查看器——GroupDocs.Viewer。
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
GroupDocs.Viewer是一个在线文档查看器,不管是否安装了创建某个文档的软件,GroupDocs.Viewer都允许使用浏览器查看这个文档。GroupDocs.Viewer支持查看多种文件文档(DOC、DOCX、TXT、RTF、ODT),演示文档(PPT、PPTX),电子表格(XLS、XLSX),便携式文件(PDF)以及图像文件(JPG、BMP、TIFF)。
我们这个项目就是探寻一款干净简便的HTML5文档查看器,关于这方面的产品是很多的,所以这个探索过程是很繁琐的,很多人的第一想法就是是使用Google Docs Viewer或类似的解决方案,但由于应用程序将在客户端Intranet上运行,申请和文件都不允许暴露在互联网上,所以这是不可行的。
经过探讨,我们制定了以下标准:
适用于Windows Server和.NET。
支持PDF,包括新旧MS Office格式。
在不离开触摸应用程序环境的情 最好支持从URL或.NET流中读取文档。
无需在客户端计算机上安装额外的插件。
探索
接下来就是大量的研究探索,最终我们寻找到了三个备选产品。
Accusofts Prizm Client Connect
这款产品符合我们的大多数标准,支持各种格式,但有一些缺点。它需要安装一个单独的服务器来进行文档转换。从他们提供下载的示例项目来判断,它需要编写大量代码才能使其打勾。除此之外,它只提供从文件路径加载文档的可能性。
Snowbounds Virtualviewer
这款产品的必须作为服务器上的单独网站运行,可以通过添加提供程序来扩展文档的加载方式,在示例项目中支持文件和URL。但是用户界面有点拥挤,视觉体验不太好,而且还有许多不常用的功能。
虽然这两种产品可能已经完成了这项工作,但我测试的第三种产品能够弥补以上两种产品的缺点。
与其他产品相比,这是很轻便的一个产品,只需添加一个DLL即可,它有一个非常简洁的API。 最初不支持我们想要的打印的要求,但在与Groupdocs.交谈并解释需要的功能后,他们很快就推出了解决它的新版本。
添加代码
在ASP.NET MVC应用程序中使用GroupDocs Viewer,必须完成四个步骤。
第一步:引用dll到项目中去
第二步:将以下项目加入Global.asax.
Viewer.InitRoutes(); Viewer.SetRootStoragePath(Server.MapPath("SomePath")); // Documents will also be cached here Viewer.SetLicensePath(Server.MapPath("SomePathToYourLisenceFile"));
第三步:在web.config文件中添加一些处理程序。
<add name="ViewDocumentHandler" verb="GET,POST" path="document-viewer/ViewDocumentHandler" type="Groupdocs.Web.UI.Handlers.ViewDocumentHandler, Groupdocs.Viewer, Culture=neutral" /> <add name="GetDocumentPageImageHandler" verb="GET,POST" path="document-viewer/GetDocumentPageImageHandler" type="Groupdocs.Web.UI.Handlers.GetDocumentPageImageHandler, Groupdocs.Viewer, Culture=neutral" /> <add name="LoadFileBrowserTreeDataHandler" verb="GET,POST" path="document-viewer/LoadFileBrowserTreeDataHandler" type="Groupdocs.Web.UI.Handlers.LoadFileBrowserTreeDataHandler, Groupdocs.Viewer, Culture=neutral" /> <add name="GetImageUrlsHandler" verb="GET,POST" path="document-viewer/GetImageUrlsHandler" type="Groupdocs.Web.UI.Handlers.GetImageUrlsHandler, Groupdocs.Viewer, Culture=neutral" /> <add name="GetCssHandler" verb="GET" path="document-viewer/CSS/GetCssHandler" type="Groupdocs.Web.UI.Handlers.CssHandler, Groupdocs.Viewer, Culture=neutral" /> <add name="images" verb="GET" path="document-viewer/images/*" type="Groupdocs.Web.UI.Handlers.EmbeddedImageHandler, Groupdocs.Viewer, Culture=neutral" /> <add name="GetScriptHandler" verb="GET,POST" path="document-viewer/GetScriptHandler" type="Groupdocs.Web.UI.Handlers.ScriptHandler, Groupdocs.Viewer, Culture=neutral" /> <add name="GetFileHandler" verb="GET" path="document-viewer/GetFileHandler" type="Groupdocs.Web.UI.Handlers.GetFileHandler, Groupdocs.Viewer, Culture=neutral" /> <add name="GetPdf2JavaScriptHandler" verb="GET,POST" path="document-viewer/GetPdf2JavaScriptHandler" type="Groupdocs.Web.UI.Handlers.GetPdf2JavaScriptHandler, Groupdocs.Viewer, Culture=neutral" /> <add name="GetPdfWithPrintDialogHandler" verb="POST" path="document-viewer/GetPdfWithPrintDialogHandler" type="Groupdocs.Web.UI.Handlers.GetPdfWithPrintDialogHandler, Groupdocs.Viewer, Culture=neutral" /> <add name="GetPrintableHtmlHandler" verb="GET,POST" path="document-viewer/GetPrintableHtmlHandler" type="Groupdocs.Web.UI.Handlers.GetPrintableHtmlHandler, Groupdocs.Viewer, Culture=neutral" />
第四步:在视图中加入以下内容
//loads the javascripts that groupsdocs viewer needs@Html.CreateViewerScriptLoadBlock().LoadJquery().LoadJqueryUi() @(Html.ViewerClientCode() .TargetElementSelector("#documentContainer") .Stream(SomeDotNetStream) // fetch document from a stream //.Url("SomeUrl") fetch from a url //.FilePath("SomeFile") fetch from filepath .DocViewerId("SomeViewerId") //different functionality can be turned on and off, this is just an example on how we have set them .EnableRightClickMenu(true) .ShowThumbnails(false) .OpenThumbnails(false) .ShowFolderBrowser(false) .ShowDownload(false) .ShowViewerStyleControl(false) .ShowSearch(false) .UsePdfPrinting(false) .BackgroundColor("black") .Width(960) .Height(900) .ZoomToFitWidth(true) .Locale("nb-no") )
如对以上内容存有疑惑,可以点击解答疑惑
年中活动,优惠多多,点击就可领取 MyEclipse 、.NET Reactor、FastReport .Net、VMProtect等超多在线订购产品优惠券!
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn
当您需要在 SWT 应用程序中显示 Web 内容时,通常有两种选择:内置浏览器小部件或像 JxBrowser 这样的商业选项?本文分析了两者之间的差异,并帮助您根据自己的需求选择合适的解决方案。
本文将介绍标准WPF DataGrid与DevExpress WPF GridControl之间的主要区别,希望能帮助大家选择正确的工具!
本文将介绍标准WPF DataGrid与DevExpress WPF GridControl之间的主要区别,希望能帮助大家选择正确的工具!
本文将详细评测Navicat的主要功能、用户体验以及其在数据库管理中的应用,希望能帮助到大家~
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@pclwef.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢