云服务器_服务器硬盘大小_年度促销

国际 虚拟云 浏览

小编:在web应用程序中,一个典型的问题是保证PDF文档始终可以在浏览器透视图中显示。例外情况下,如果此文档必须显示在表单数据之外,最终用户可以更改一些与会计相关的内容,并且

在web应用程序中,一个典型的问题是保证PDF文档始终可以在浏览器透视图中显示。例外情况下,如果此文档必须显示在表单数据之外,最终用户可以更改一些与会计相关的内容,并且他/她必须比较表单中的数据和扫描的PDF文档中的数据。此外,三星云服务器,了解最终用户希望在哪个设备上执行UI也是相关的。当然,一些普通的浏览器,如Internet Explorer和Mozilla Firefox,都有自己的PDF浏览器插件,或者直接使用Adobe Acrobat Reader,但其他的焦点群体,如iPad用户,在Safari浏览器中却没有这样的插件。此外,每个Safari浏览器版本(基于Apple操作系统)有时或多或少都支持显示PDF文档。在一个版本中,您只能看到第一页,但没有页面导航或无法放大文档。其他版本的浏览器根本不显示该文档。

在这个博客中,我想向您展示如何通过扩展aBPM场景来解决这个问题PDF.js文件来自Mozilla的基于Javascript的PDF查看器。

在下面的链接下,您将找到有关PDF.js文件. 您也可以在这里下载查看器本身:

https://mozilla.github.io/pdf.js/

在下一段中,云技术服务器,爱淘客百度云,我想一步一步地描述如何使用PDF.js文件

Szenario环境/假设:

在显示的aBPM Szenario中存在另一个从文档管理系统读取附件的DCsystem/ABAP后端系统或通过Web服务的第三方系统。我们场景中的WebService将在PO系统的AEX中执行。此iFlow和执行此WebService调用的DC不是此博客的一部分。这种情况是值得一提的,因为在一个典型的客户项目中,PDF文档不是固定的,广州云服务器,也不是可部署组件或web存档的一部分。

1。部署PDF.js文件通过Web DC

1.1。下载后PDF.js文件请解压缩文件系统中的内容1.2.然后将文件夹build和web复制到新的web DC中。我的例子是common/pdf/war

1.3。在source文件夹下,我创建了一个包,其中包含一个提供者servlet实现,云数据库优惠,该实现使用另一个DC加载附件(参见上面的szenario环境/假设)。如果附件读取成功,servlet将返回文档的二进制内容。如果出现异常,错误信息将以html格式返回。

1.4。创建servlet之后网站.xml和web-j2ee-引擎.xml必须维护以使servlet可用并创建一个安全角色,该角色允许使用安全角色执行servlet(此DC的安全方面,未经授权的用户不允许读取附件)。在本例中,我将安全角色分配给Netweaver的默认BPM UME角色(SAP\u BPM\u TRIGGER\u EVENT)作为Java。

网站.xml:

web-j2ee-引擎.xml:

1.5. 另外创建一个ear项目,该项目依赖于wardc1.6. 构建ear DC并部署

2。覆盖UI5TableViewRenderer

提示:aBPM框架允许构建现有渲染器的一个自己的实现,可以用来代替交付的渲染器类。此情况将用于放置PDF.js文件视图容器内的查看器,用于构建将放置所有其他UI元素的外部框架。

2.1。在场景ejb内部(在我的例子中是invoice/ejb)创建一个新包,所有定制呈现器都可以存储在这个包中。在显示的项目中,它是名为的包。自定义渲染器

2.2.这里存在一个名为ui5tabletviewrender的新类,它包含aBPM框架类的原始内容,以及拆分器UI5元素的自定义更改。拆分器元素内部的拉链允许更改左右内容区域的大小。要使此UI元素在结果中可用,必须维护原始ui5tabletviewrender中的3个部分。这些部分在下面的源代码中突出显示,其中更改部分开始/结束:

2.3。保存更改三。创建CustomRenderFactory

现在必须创建一个CustomRenderFactory,允许使用点2的自定义UI5TableViewRenderer来代替aBPM默认的UI5TableViewRenderer。

3.1。创建一个新的CustomRenderFactory,内容如下:

3.2。保存内容3.3. 构建和部署场景实现

4。控制输出

4.1。启动相应的BPM流程并打开审批任务4.2. 现在应该出现以下结果:

当前网址:http://www.vmchk.com/icon/88949.html

 
你可能喜欢的: