com.zhuozhengsoft.pageoffice
类 PDFCtrl

java.lang.Object
  继承者 com.zhuozhengsoft.pageoffice.PDFCtrl

public class PDFCtrl
extends java.lang.Object

PDFCtrl 类是PageOffice开发平台中的重要类,主要用来在线打开、显示PDF文档。

版本:
2.0
作者:
北京卓正志远软件有限公司

构造方法摘要
PDFCtrl(HttpServletRequest request)
          初始化 PDFCtrl 类的新实例。
 
方法摘要
 void addCustomToolButton(java.lang.String caption, java.lang.String jsFunction, int iconIndex)
          添加按钮到自定义工具栏。
 void setAllowCopy(boolean value)
          设置当前文档是否允许复制、粘贴的功能。
 void setBorderColor(java.awt.Color value)
          设置 PDFCtrl 控件的边框颜色。
 void setBorderStyle(BorderStyleType value)
          设置 PDFCtrl 控件的边框样式。
 void setCaption(java.lang.String value)
          设置 PDFCtrl 控件标题栏文字。
 void setCustomToolbar(boolean value)
          设置 PDFCtrl 控件是否显示自定义工具栏。
 void setFileTitle(java.lang.String value)
          设置控件客户端弹出的“另存为”对话框的默认文件名。
 void setHTTPBasic_Password(java.lang.String value)
          打开文档时要求 HTTP Basic 验证的用户密码。
 void setHTTPBasic_UserName(java.lang.String value)
          打开文档时要求 HTTP Basic 验证的用户名。
 void setJsFunction_AfterDocumentOpened(java.lang.String value)
          定义一个 JavaScript 函数响应 AfterDocumentOpened 事件。
 void setMenubar(boolean value)
          设置 PDFCtrl 控件是否显示菜单栏。
 void setMenubarColor(java.awt.Color value)
          设置控件的菜单栏颜色。
 void setMenubarTextColor(java.awt.Color value)
          设置控件菜单栏的文字颜色。
 void setServerPage(java.lang.String serverPage)
          设置 PDFCtrl 控件的运行服务页面。
 void setTagId(java.lang.String id)
          此方法非常重要,在PDFCtrl的后台Java调用代码末尾处必须调用。
 void setTheme(ThemeType value)
          设置 PDFCtrl 控件的界面主题。
 void setTitlebar(boolean value)
          设置 PDFCtrl 控件是否显示标题栏。
 void setTitlebarColor(java.awt.Color value)
          设置控件的标题栏颜色。
 void setTitlebarTextColor(java.awt.Color value)
          设置控件标题栏的文字颜色。
 void webOpen(java.lang.String documentURL)
          在线打开PDF文档。
 
从类 java.lang.Object 继承的方法
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

构造方法详细信息

PDFCtrl

public PDFCtrl(HttpServletRequest request)
初始化 PDFCtrl 类的新实例。

方法详细信息

setTagId

public void setTagId(java.lang.String id)
              throws java.lang.Exception,
                     java.io.IOException
此方法非常重要,在PDFCtrl的后台Java调用代码末尾处必须调用。

下面的示例展示如何在线打开PDF文档。

 PDFCtrl pdfCtrl1 = new PDFCtrl(request);
 //设置 PDFCtrl 的运行服务页面
 pdfCtrl1.setServerPage("poserver.do"); // 必须
 
 //设置界面样式
 pdfCtrl1.setCaption("测试文档");
 pdfCtrl1.setTheme(ThemeType.Office2007);
 pdfCtrl1.setBorderStyle(BorderStyleType.BorderFlat);
 
 //关闭菜单栏
 pdfCtrl1.setMenubar(false);
 
 //打开PDF文档
 pdfCtrl1.webOpen("doc/test.pdf");
 pdfCtrl1.setTagId("PDFCtrl1");
 

参数:
id - 前台HTML代码中放置 PDFCtrl 标签处开发者自定义的控件ID。
抛出:
java.lang.Exception
java.io.IOException

setBorderStyle

public void setBorderStyle(BorderStyleType value)
设置 PDFCtrl 控件的边框样式。

参数:
value - 边框样式,默认值是 BorderStyleType.BorderFlat。

setBorderColor

public void setBorderColor(java.awt.Color value)
设置 PDFCtrl 控件的边框颜色。如果 BorderStyle 的值是 BorderStyleType.BorderFlat, 本属性无效。

参数:
value - 边框颜色。

setTheme

public void setTheme(ThemeType value)
设置 PDFCtrl 控件的界面主题。如果本属性的值不是 CustomStyle,那么对属性 MenubarColor、MenubarTextColor、TitlebarColor、TitlebarTextColor的任何设置都将无效。

参数:
value - 界面主题,默认值是 ThemeType.Office2007。

setTitlebar

public void setTitlebar(boolean value)
设置 PDFCtrl 控件是否显示标题栏。

参数:
value - 默认值是 true。

setTitlebarColor

public void setTitlebarColor(java.awt.Color value)
设置控件的标题栏颜色。当 Theme 的值是 ThemeType.CustomStyle时,本属性才有效。

参数:
value - 标题栏颜色。

setTitlebarTextColor

public void setTitlebarTextColor(java.awt.Color value)
设置控件标题栏的文字颜色。当 Theme 的值是 ThemeType.CustomStyle时,本属性才有效。

参数:
value - 标题栏的文字颜色。

setMenubar

public void setMenubar(boolean value)
设置 PDFCtrl 控件是否显示菜单栏。

参数:
value - 默认值是 true。

setMenubarColor

public void setMenubarColor(java.awt.Color value)
设置控件的菜单栏颜色。当 Theme 的值是 ThemeType.CustomStyle时,本属性才有效。

参数:
value - 菜单栏颜色。

setMenubarTextColor

public void setMenubarTextColor(java.awt.Color value)
设置控件菜单栏的文字颜色。当 Theme 的值是 ThemeType.CustomStyle时,本属性才有效。

参数:
value - 菜单栏的文字颜色。

setCustomToolbar

public void setCustomToolbar(boolean value)
设置 PDFCtrl 控件是否显示自定义工具栏。

参数:
value - 默认值是 true。

setCaption

public void setCaption(java.lang.String value)
设置 PDFCtrl 控件标题栏文字。

参数:
value - 默认值是 "卓正 PageOffice 开发平台"。

setAllowCopy

public void setAllowCopy(boolean value)
设置当前文档是否允许复制、粘贴的功能。如果设置为false,当前文档禁止用户复制、粘贴文档内容。

参数:
value - 默认值是 true。

setFileTitle

public void setFileTitle(java.lang.String value)
设置控件客户端弹出的“另存为”对话框的默认文件名。当用户需要另存当前文档到本地磁盘时,点击控件“另存为”菜单或按钮。这时控件会弹出“另存为”对话框。本属性 FileTitle 可以设置对话框里默认的文件名。

参数:
value -

setServerPage

public void setServerPage(java.lang.String serverPage)
设置 PDFCtrl 控件的运行服务页面。

此属性是 PDFCtrl 控件的重要属性。ServerPage 页面为 PDFCtrl 控件提供必须的运行服务。 在调用 WebOpen 方法之前,您必须为 PDFCtrl 控件设置 ServerPage 属性。

下面的示例展示如何使用 ServerPage 属性。

 pdfCtrl1.setServerPage("poserver.do"); // 此行必须
 pdfCtrl1.webOpen("doc/test.pdf");
 pdfCtrl1.setTagId("PDFCtrl1"); // 此行必须
 

参数:
serverPage - 无默认值。ServerPage 属性的值是PageOffice的服务页面的URL。

这里的URL可以是相对于当前页面的相对地址,也可以是http开头的绝对地址。相对URL可以是相对于当前页面的地址,也可以是以"/"开头的相对于整个Web应用程序根的地址。

注意:如果URL采用http开头的绝对地址,您必须确保这个地址和当前页面同属于一个网站。


setHTTPBasic_UserName

public void setHTTPBasic_UserName(java.lang.String value)
打开文档时要求 HTTP Basic 验证的用户名。如果您的Web项目采用了 HTTP Basic 验证或Windows集成验证,您需要给 HTTPBasic_UserName 和 HTTPBasic_Password 属性赋值才能保证 PageOfficeCtrl 控件成功打开保存文档。


setHTTPBasic_Password

public void setHTTPBasic_Password(java.lang.String value)
打开文档时要求 HTTP Basic 验证的用户密码。如果您的Web项目采用了 HTTP Basic 验证或Windows集成验证,您需要给 HTTPBasic_UserName 和 HTTPBasic_Password 属性赋值才能保证 PageOfficeCtrl 控件成功打开保存文档。


setJsFunction_AfterDocumentOpened

public void setJsFunction_AfterDocumentOpened(java.lang.String value)
定义一个 JavaScript 函数响应 AfterDocumentOpened 事件。

文档打开之后在页面里触发此事件。如果您需要响应此事件,您需要在当前 JSP 页面里定义一个 JavaScript 函数。

下面的示例展示如何使用 JsFunction_AfterDocumentOpened 属性。

 pdfCtrl1.setJsFunction_AfterDocumentOpened("AfterDocumentOpened()");
 

然后在当前 JSP 页面里定义 AfterDocumentOpened() 函数。

 <script language="javascript" type="text/javascript">
     function AfterDocumentOpened() {
         // 添加您的代码。
     }
 </script>
 


addCustomToolButton

public void addCustomToolButton(java.lang.String caption,
                                java.lang.String jsFunction,
                                int iconIndex)
                         throws java.lang.Exception
添加按钮到自定义工具栏。调用此方法为自定义工具栏添加每一个按钮。由开发人员自定义的 JavaScript 函数响应按钮的点击事件。

下面的示例展示如何使用 AddCustomToolButton 方法。

 pdfCtrl1.addCustomToolButton("打印", "ShowPrintDlg()", 6);
 pdfCtrl1.addCustomToolButton("-", "", 0);
 pdfCtrl1.addCustomToolButton("全屏切换", "SwitchFullScreen()", 4);
 

然后在当前 JSP 页面里定义 JavaScript 函数。

 <script language="javascript" type="text/javascript">
     function ShowPrintDlg() {
         document.getElementById("PDFCtrl1").ShowDialog(4); //打印对话框
     }
     function SwitchFullScreen() {
         document.getElementById("PDFCtrl1").FullScreen = !document.getElementById("PDFCtrl1").FullScreen;
     }
 </script> 
 

参数:
caption - 按钮的标题。如果 caption 定义为 "-",表示此按钮是分隔线。
jsFunction - JavaScript 函数的名字。当用户点击当前按钮时触发此 JavaScript 函数。
按钮图标的索引。PageOffice - 内置了若干图标,您可以选择使用其中的图标。默认值是 0。可用的图标索引如下:

Custom Toolbutton Icons

抛出:
java.lang.Exception

webOpen

public void webOpen(java.lang.String documentURL)
             throws java.lang.Exception,
                    java.io.IOException
在线打开PDF文档。

此方法是 PDFCtrl 控件的重要方法,用来在线打开PDF文档。

WebOpen 方法一般放在PDFCtrl调用代码末尾处调用。

示例:打开并在网页中显示 test.pdf 文档。

 pdfCtrl1.setServerPage("poserver.do"); //此行必须
 pdfCtrl1.webOpen("doc/test.pdf");
 

参数:
documentURL - 待打开文档的URL地址。

此文档既可以是来自Web服务器文件夹的文件,也可以是用服务器页面动态输出的文件二进制流。但是必须保证文档具有PDF文件格式。

如果是网站文件夹内的文件,就使用URL;如果是网站文件夹外的文件,可以直接使用磁盘文件路径,例如:"D:\\documents\\test.doc"。

这里的URL可以是相对于当前页面的相对地址,也可以是http开头的绝对地址。相对URL可以是相对于当前页面的地址,也可以是以"/"开头的相对于整个Web应用程序根的地址。

注意:如果URL采用http开头的绝对地址,您必须确保这个地址和当前页面同属于一个网站。

抛出:
java.lang.Exception
java.io.IOException