如何优化PrizmDoc以进行大型文档查看和服务器端搜索-docx文件怎样打开

PrizmDoc是一款基于服务器的优秀文档查看器和编辑器,其新的大文档查看和服务器端搜索功能允许用户与包含数百或数千页的源文档实现更快的交互。不过如何打开和利用好这一功能值得仔细探讨。本文旨在针对如何优化PrizmDoc以进行大型文档查看和服务器端搜索进行介绍,供大家学习讨论。

如何优化PrizmDoc以进行大型文档查看和服务器端搜索


一般情况下PrizmDoc不会自动执行服务器端搜索,如果你是开发人员,创建或查看会话时通过选择clientSearch APIserverSearch API调用来指定是否要使用服务器端搜索选项。

一、尽可能使用查看包来预转换内容

通过尽可能预转换内容,确保PrizmDoc在您的网站或应用程序上顺利运行。在浏览器中快速加载大型文档最重要的事情是确保在最终用户开始查看文档之前,已经转换为在浏览器中查看。对于Microsoft Office文档尤其如此。

如果您使用的是PrizmDoc应用程序服务(PAS),可以利用查看包功能全面预转换整个文档,以便在浏览器中快速查看。查看包一旦创建将一直存在,直到您明确删除它。并且它允许PrizmDoc应用程序服务简单地返回文档的任何页面的静态内容,即使文档有数千页。

如何优化PrizmDoc以进行大型文档查看和服务器端搜索


二、使用服务器端搜索查看大型文档

如上所述,PrizmDoc允许最终用户轻松搜索文档并通过服务器端搜索导航结果。服务器端搜索能够将工作卸载到服务器,并在结果可用时填充Viewing Client UI。这一新功能可以处理比以前更大的文档。

使用服务器端搜索有很多好处。以前版本的PrizmDoc可能无法转换或提取大型文档中的所有文本,例如超过1000页的PDF和超过250页的Word文档。使用服务器端搜索模式,对大型文档的搜索结果要快得多。

但是转换大型文档非常耗费资源,特别是对于Office文档。例如一个1000页的Word文档可能需要几分钟才能完成文本提取。在此期间,如果有三个或四个并发用户(每个用户转换1000页文档)将占用该服务器上的所有转换资源。

在此期间尝试转换文档的后续用户可能会遇到错误,直到完成的文本提取过程释放系统资源。当资源过载时,这可能导致次优的用户体验。如果您经常使用大型文档,我们强烈建议使用具有大量内核的服务器。


三、客户端与服务器端搜索

理想情况下PrizmDoc会尽可能执行客户端搜索,并在必要时执行服务器端搜索。实际上我们根据页数进行了有根据的猜测,在默认情况下,如果文档包含的页数不超过80页,Viewing Client将执行客户端搜索。否则Viewing Client会将搜索工作卸载到服务器(启用服务器端搜索时)。对于多种文档这个任意80页的阈值都有效。但是如果您使用80页或更少文档以及大量文本,或者最终用户的浏览器特别受内存限制,您可能会发现此默认设置在将搜索工作卸载到服务器时响应不够积极。

构建查看器控件时,可以使用“Viewer Control Options”的searchMethodPageCountThreshold属性调整文档在客户端查看切换到服务器端搜索之前可以拥有的最大页数。此外您可以使用searchMethodType属性强制Viewing Client仅使用服务器端搜索(或仅使用客户端搜索)。


四、使用API管理服务器搜索功能

1、clientSearch——PCCViewer.SearchRequest

在客户端搜索给定searchQuery的文档文本时需要从服务器文本请求每个页面,这对于较小的文档是有效,但对于大型文档使用PCCViewer.ViewerControlserverSearch方法更有效。

此查询可以是单个搜索词,也可以是指定一个或多个词选项的哈希值。如果仅提供单个搜索词(字符串),则使用默认选项异步搜索完成。返回的PCCViewer.SearchRequest对象提供进度事件和成员访问的搜索结果。

2、serverSearch——PCCViewer.SearchRequest

在服务器端搜索给定searchQuery的文档文本对于较大的文档是有效的,但对于较小的文档,使用PCCViewer.ViewerControlclientSearch方法更有效。

此查询可以是单个搜索词,也可以是指定一个或多个词选项的哈希值。如果仅提供单个搜索词(字符串),则使用默认选项异步搜索完成。返回的PCCViewer.SearchRequest对象提供进度事件和成员访问的搜索结果。


推荐阅读