|
||||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
java.lang.Object com.zhuozhengsoft.pageoffice.FileMakerCtrl
public class FileMakerCtrl
FileMakerCtrl 类是PageOffice开发平台中的核心类。和PageOfficeCtrl控件不同,FileMakerCtrl在Web网页里不显示Office文档,而是直接在线生成Office文档或将Office文档转换成PDF文档,或动态生成PDF文档。
构造方法摘要 | |
---|---|
FileMakerCtrl(HttpServletRequest request)
初始化 FileMakerCtrl 类的新实例。 |
方法摘要 | |
---|---|
void |
createDocumentAs(DocumentVersion docVersion,
java.lang.String destFileName)
创建一个新文档并动态填充生成Office文档。 |
void |
createDocumentAsPDF(DocumentOpenType documentType,
java.lang.String destFileName)
创建一个新文档并动态填充生成PDF文档。 |
void |
fillDocument(java.lang.String documentURL,
DocumentOpenType documentType)
在线动态生成Office文档。 |
void |
fillDocumentAs(java.lang.String documentURL,
DocumentOpenType documentType,
java.lang.String destFileName)
在线动态生成Office文档。 |
void |
fillDocumentAsPDF(java.lang.String documentURL,
DocumentOpenType documentType,
java.lang.String destFileName)
在线动态生成PDF文档。 |
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 |
setJsFunction_OnProgressComplete(java.lang.String value)
定义一个 JavaScript 函数响应 OnProgressComplete 事件。 |
void |
setOfficeVendor(OfficeVendorType value)
设置Office办公软件类型。 |
void |
setSaveFilePage(java.lang.String saveFilePage)
设置 FileMakerCtrl 控件的文档保存页面。 |
void |
setServerPage(java.lang.String serverPage)
设置 FileMakerCtrl 控件的运行服务页面。 |
void |
setTagId(java.lang.String id)
此方法非常重要,在FileMakerCtrl的后台Java调用代码末尾处必须调用。 |
void |
setWriter(java.lang.Object writerObj)
设置 FileMakerCtrl 控件的数据对象。 |
从类 java.lang.Object 继承的方法 |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
构造方法详细信息 |
---|
public FileMakerCtrl(HttpServletRequest request)
方法详细信息 |
---|
public void setTagId(java.lang.String id) throws java.lang.Exception, java.io.IOException
示例代码:修改test.doc文档中名为"company"的DataRegion处的文字为"IBM"。
//设置 FileMakerCtrl 的运行服务页面 fmCtrl1.setServerPage("poserver.do"); // 必须 //修改名为"company"的DataRegion处的文字为"IBM"。 WordDocument doc = new WordDocument(); doc.openDataRegion("PO_company").setValue("IBM"); fmCtrl1.setWriter(doc); //设置用来接收生成的文档的页面 fmCtrl1.setSaveFilePage("savefile.jsp"); //开始生成文档 fmCtrl1.fillDocument("doc/test.doc", DocumentType.Word); fmCtrl1.setTagId("FileMakerCtrl1");
id
- 前台HTML代码中放置 FileMakerCtrl 标签处开发者自定义的控件ID。
java.lang.Exception
java.io.IOException
FileSaver.saveToFile()方法中完整的示例代码,学习如何编写 savefile.jsp 页面的代码接收FileMaker生成的文档。
public void setFileTitle(java.lang.String value)
value
- 文件名。public void setServerPage(java.lang.String serverPage)
此属性是 FileMakerCtrl 控件的重要属性。ServerPage 页面为 FileMakerCtrl 控件提供必须的运行服务。 在调用 fillDocument 或 createDocument 方法之前,您必须为 FileMakerCtrl 控件设置 ServerPage 属性。
下面的示例展示如何使用 ServerPage 属性。
fmCtrl1.setServerPage("poserver.do"); // 此行必须 fmCtrl1.fillDocument("doc/test.doc", DocumentOpenType.Word); fmCtrl1.setTagId("FileMakerCtrl1"); // 此行必须
serverPage
- 无默认值。ServerPage 属性的值是PageOffice的服务页面的URL。
这里的URL可以是相对于当前页面的相对地址,也可以是http开头的绝对地址。相对URL可以是相对于当前页面的地址,也可以是以"/"开头的相对于整个Web应用程序根的地址。
注意:如果URL采用http开头的绝对地址,您必须确保这个地址和当前页面同属于一个网站。
FileMakerCtrl.setTagId()方法中完整的示例代码,学习如何在线动态生成文档。
public void setSaveFilePage(java.lang.String saveFilePage)
此属性是 FileMakerCtrl 控件的重要属性。SaveFilePage 页面用来接收 FileMakerCtrl 控件生成得到的文档。
如果 SaveFilePage 属性没有赋值,控件就不会提交生成的文档。 如果只是临时动态生成的文档,服务器端不需要存储此文档,而仅仅用来导出到用户本地磁盘,这时就无需给 SaveFilePage 赋值。
下面的示例展示如何使用 SaveFilePage 属性。
fmCtrl1.setServerPage("poserver.do"); // 此行必须 fmCtrl1.setSaveFilePage("savefile.jsp"); // 设置 savefile.jsp 用来保存文档。 fmCtrl1.fillDocument("doc/test.doc", DocumentOpenType.Word); fmCtrl1.setTagId("FileMakerCtrl1"); // 此行必须
saveFilePage
- 无默认值。SaveFilePage 属性的值是用来接收控件提交文档的服务器页面的URL。
这里的URL可以是相对于当前页面的相对地址,也可以是http开头的绝对地址。相对URL可以是相对于当前页面的地址,也可以是以"/"开头的相对于整个Web应用程序根的地址。
注意:如果URL采用http开头的绝对地址,您必须确保这个地址和当前页面同属于一个网站。
FileMakerCtrl.saveToFile()方法中完整的示例代码,学习如何编写 savefile.jsp 页面的代码。
public void setHTTPBasic_UserName(java.lang.String value)
public void setHTTPBasic_Password(java.lang.String value)
public void setJsFunction_AfterDocumentOpened(java.lang.String value)
文档打开之后在页面里触发此事件。 如果您需要响应此事件,您需要在当前 JSP 页面里定义一个 JavaScript 函数。
下面的示例展示如何使用 JsFunction_AfterDocumentOpened 属性。
fmCtrl1.setJsFunction_AfterDocumentOpened("AfterDocumentOpened()");
然后在当前 JSP 页面里定义 AfterDocumentOpened() 函数。
<script language="javascript" type="text/javascript"> function AfterDocumentOpened() { // 添加您的代码。 } </script>
public void setJsFunction_OnProgressComplete(java.lang.String value)
文档生成之后在页面里触发此事件。如果您需要响应此事件,您需要在当前 JSP 页面里定义一个 JavaScript 函数。
下面的示例展示如何使用 JsFunction_OnProgressComplete 属性。
fmCtrl1.setJsFunction_OnProgressComplete("OnProgressComplete()");
然后在当前 JSP 页面里定义 OnProgressComplete() 函数。
<script language="javascript" type="text/javascript"> function OnProgressComplete() { // 添加您的代码。 } </script>
public void setOfficeVendor(OfficeVendorType value)
value
- 默认值是OfficeVendorType.MSOffice。public void setWriter(java.lang.Object writerObj) throws java.lang.Exception, java.io.IOException
如果您需要动态输出数据到Word文档或Excel表格里,您必须创建com.zhuozhengsoft.pageoffice.wordwriter.WordDocument对象或com.zhuozhengsoft.pageoffice.excelwriter.Workbook对象,并且调用setWriter给FileMakerCtrl控件设置数据对象。 您必须在调用 fillDocument 方法之前调用 setWriter 方法。
writerObj 参数类型必须和 fillDocument 方法打开的文档类型相匹配。 例如:如果 fillDocument 方法打开的是Word文档,writerObj 参数必须是 com.zhuozhengsoft.pageoffice.wordwriter.WordDocument 对象。
下面的示例展示如何使用 setWriter 方法。
Word 示例代码:
WordDocument doc = new WordDocument(); DataRegion dataRegion = doc.openDataRegion("name"); dataRegion.setValue("张三"); fmCtrl1.setWriter(doc); //数据对象是 com.zhuozhengsoft.pageoffice.wordwriter.WordDocument 对象。
Excel 示例代码:
Workbook wb = new Workbook(); Sheet sheetOrder = wb.openSheet("Order"); sheetOrder.openCell("B5").setValue("张三"); fmCtrl1.setWriter(wb);
writerObj
- 数据源对象。目前合法的数据对象有 com.zhuozhengsoft.pageoffice.wordwriter.WordDocument 和 com.zhuozhengsoft.pageoffice.excelwriter.Workbook.
java.lang.Exception
java.io.IOException
public void fillDocument(java.lang.String documentURL, DocumentOpenType documentType) throws java.lang.Exception, java.io.IOException
此方法用来直接在线生成Office文档,而无需在当前Web页面显示Office文档。
documentURL
- 待打开文档的URL地址。
此文档既可以是来自Web服务器文件夹的文件,也可以是用服务器页面动态输出的文件二进制流。但是必须保证文档具有Office文件格式。
如果是网站文件夹内的文件,就使用URL;如果是网站文件夹外的文件,对于Windows平台可以直接使用磁盘文件路径,例如:"D:\\documents\\abc.doc"
PageOffice 支持很多Office文档格式,例如 *.doc,*.docx,*.xls,*.xlsx,*.ppt,*.pptx,*.xml and *.rtf 等。
这里的URL可以是相对于当前页面的相对地址,也可以是http开头的绝对地址。相对URL可以是相对于当前页面的地址,也可以是以"/"开头的相对于整个Web应用程序根的地址。
注意:如果URL采用http开头的绝对地址,您必须确保这个地址和当前页面同属于一个网站。
documentType
- 待打开的文档类型。请确保 documentType 与要打开的Office文档的文件格式保持一致。
java.lang.Exception
java.io.IOException
FileMakerCtrl.setTagId()方法中完整的示例代码,学习如何在线动态生成文档。
public void fillDocumentAs(java.lang.String documentURL, DocumentOpenType documentType, java.lang.String destFileName) throws java.lang.Exception, java.io.IOException
此方法用来直接在线生成Office文档,而无需在当前Web页面显示Office文档。
documentURL
- 待打开文档的URL地址。
此文档既可以是来自Web服务器文件夹的文件,也可以是用服务器页面动态输出的文件二进制流。但是必须保证文档具有Office文件格式。
如果是网站文件夹内的文件,就使用URL;如果是网站文件夹外的文件,对于Windows平台可以直接使用磁盘文件路径,例如:"D:\\documents\\abc.doc"
PageOffice 支持很多Office文档格式,例如 *.doc,*.docx,*.xls,*.xlsx,*.ppt,*.pptx,*.xml and *.rtf 等。
这里的URL可以是相对于当前页面的相对地址,也可以是http开头的绝对地址。相对URL可以是相对于当前页面的地址,也可以是以"/"开头的相对于整个Web应用程序根的地址。
注意:如果URL采用http开头的绝对地址,您必须确保这个地址和当前页面同属于一个网站。
documentType
- 待打开的文档类型。请确保 documentType 与要打开的Office文档的文件格式保持一致。destFileName
- 目标文件名。当开发者需要给新生成的文档指定文件名时,使用此参数。如果不需要新文件名,就直接调用fillDocument()方法。
java.lang.Exception
java.io.IOException
FileMakerCtrl.setTagId()方法中完整的示例代码,学习如何在线动态生成文档。
public void fillDocumentAsPDF(java.lang.String documentURL, DocumentOpenType documentType, java.lang.String destFileName) throws java.lang.Exception, java.io.IOException
此方法用来直接在线生成PDF文档,而无需在当前Web页面显示Office或PDF文档。
注意:此方法的待打开文档是Office文件,而不是PDF文件。此方法首先打开Office文件,然后进行动态数据填充等操作,最后生成PDF文档。要使用此功能,推荐安装Office2007及以上版本的Office软件。
documentURL
- 待打开Office文档的URL地址。
此文档既可以是来自Web服务器文件夹的文件,也可以是用服务器页面动态输出的文件二进制流。但是必须保证文档具有Office文件格式。
如果是网站文件夹内的文件,就使用URL;如果是网站文件夹外的文件,对于Windows平台可以直接使用磁盘文件路径,例如:"D:\\documents\\abc.doc"
PageOffice 支持很多Office文档格式,例如 *.doc,*.docx,*.xls,*.xlsx,*.ppt,*.pptx,*.xml and *.rtf 等。
这里的URL可以是相对于当前页面的相对地址,也可以是http开头的绝对地址。相对URL可以是相对于当前页面的地址,也可以是以"/"开头的相对于整个Web应用程序根的地址。
注意:如果URL采用http开头的绝对地址,您必须确保这个地址和当前页面同属于一个网站。
documentType
- 待打开的文档类型。请确保 documentType 与要打开的Office文档的文件格式保持一致。destFileName
- 目标文件名。开发者需要给新生成的PDF文档指定文件名。
java.lang.Exception
java.io.IOException
FileMakerCtrl.setTagId()方法中完整的示例代码,学习如何在线动态生成文档。
public void createDocumentAs(DocumentVersion docVersion, java.lang.String destFileName) throws java.lang.Exception, java.io.IOException
此方法用来直接在线生成Office文档,而无需在当前Web页面显示Office文档。
如果您需要创建从空白文档开始动态生成所有文档内容,就调用 createDocumentAs 方法。
在Web服务器上创建新文档和在客户机本地创建新文档有很大的不同。在Web服务器上创建新文档必须考虑到所有客户机上安装的不同版本的Office软件的兼容性。 为了保证新文档能够在所有客户机上都能顺利打开,您在调用 createDocumentAs 方法时需要选择较低的 DocumentVersion 。
docVersion
- 文档类型及文档格式版本。destFileName
- 目标文件名。生成得到的文档的文件名。
java.lang.Exception
java.io.IOException
FileMakerCtrl.setTagId()方法中完整的示例代码,学习如何在线动态生成文档。
public void createDocumentAsPDF(DocumentOpenType documentType, java.lang.String destFileName) throws java.lang.Exception, java.io.IOException
此方法用来直接在线生成PDF文档,而无需在当前Web页面显示Office或PDF文档。
如果您需要创建从空白Office文档开始动态生成所有文档内容并且最后生成PDF格式文档,就调用 createDocumentAsPDF 方法。
在Web服务器上创建新文档和在客户机本地创建新文档有很大的不同。在Web服务器上创建新文档必须考虑到所有客户机上安装的不同版本的Office软件的兼容性。 为了保证新文档能够在所有客户机上都能顺利打开,您在调用 createDocumentAsPDF 方法时需要选择较低的 DocumentVersion 。
documentType
- 待创建的文档类型。destFileName
- 目标文件名。开发者需要给新生成的PDF文档指定文件名。
java.lang.Exception
java.io.IOException
FileMakerCtrl.setTagId()方法中完整的示例代码,学习如何在线动态生成文档。
|
||||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |