基础功能

演示最基本的在线打开、编辑、保存Office文档;控制PageOffice产品的界面,包括标题栏、自定义工具条、Office工具栏的隐藏和显示...

 高级功能

演示调用Pageoffice提供的接口填充数据到Word、Excel模版文件,动态生成文档,Word转PDF,控制Word、Excel中内容格式的功能...

 综合演示

通过几种模型示例演示PageOffice在各种应用场景中,调用PageOffice具体的API解决实际问题的效果。例如Word文件在OA系统中流转的过程,动态生成试卷等...

 其他技巧

演示通过PageOffice直接调用一些常用JS方法。例如定位光标到书签,JS方式插入书签,JS方式插入水印,JS方式获取Word选中的文字等...

五、PAGEOFFICE v6.0新特性

类型 功能示例 文件夹
五、1、演示弹出各种样式的消息框及菜单 | 代码详解

演示弹出各种样式的消息框及菜单。

/DivMessage
五、2、演示使用模态对话框填写Word数据区域 | 代码详解

演示使用模态对话框框填写Word中数据区域的效果。

/ApplicationForm
五、3、演示使用页面表单填充Word数据区域和表格

演示将页面表单中的内容动态填充到Word中数据区域和JS方式填充表格的效果。

/FormToDataRegions
五、4、FileMaker执行单个Word转PDF(专业版、企业版) | 代码详解

演示PageOfficeV6.0下FileMaker转PDF不再需要弹出窗口,直接在系统主页面完成转换,搭配文件实时转换进度。注意:这块的转换调用的是Word自身的转换功能,因此转换生成的文件不存在格式排版等偏差问题。要想实现批量转换的效果,请参考(三、15、Word批量转换成PDF文件)示例。

/FileMakerToPDF

一、基础功能

类型 功能示例 文件夹
一、1、最简单在线打开保存Word文件(URL地址方式) | 代码详解

演示PageOffice实现最基本的在线打开保存服务器上Word文件的功能,也是最简单的一个集成PageOffice的示例,第一次接触PageOffice产品的用户可以参考此示例把PageOffice集成到自己的项目中。

/SimpleWord
一、2、以磁盘路径方式打开Office文件(以Word为例) | 代码详解

最简单的集成PageOffice的示例,但使用的是服务器磁盘路径的方式,这种方式的优点:1. 支持中文路径;2. 文件可以保存在服务器上的任意磁盘文件夹下。(此示例演示以窗口全屏显示的方式打开文件。)

/SimpleWord
一、3、最简单在线打开保存Excel文件(URL地址方式) | 代码详解

演示在线打开保存Excel文件的效果,与上面打开保存Word的代码几乎完全一样,只是WebOpen的第二个参数不一样。WebOpen方法的第二个参数需要与实际要打开的Office文档的文件格式保持一致。

/SimpleExcel
一、4、最简单在线打开保存PPT文件(URL地址方式) | 代码详解

演示在线打开保存PPT文件的效果,与上面打开保存Word的代码几乎完全一样,只是WebOpen的第二个参数不一样。WebOpen方法的第二个参数需要与实际要打开的Office文档的文件格式保持一致

/SimplePPT
一、5、修改标题栏文本内容 | 代码详解

通过给Caption属性赋值可以修改标题栏的文本内容,如果不给Caption赋值的话,标题栏默认显示的文本是:卓正 PageOffice 开发平台。

/TitleText
一、6、隐藏标题栏、自定工具栏和Office工具栏(以Word为例) | 代码详解

演示如何隐藏标题栏、自定工具栏和Office工具栏,每个栏都是可以单独的控制是否隐藏。

/ControlBars
一、8、最简单的只读打开Office文件(以Word为例) | 代码详解

实现只读模式打开Office文件,只需要修改WebOpen的第二个参数即可,PageOffice针对Word、Excel和PPT分别提供了docReadOnly、xlsReadOnly和pptReadOnly模式。

/OpenWord
一、9、文档保存后给前台页面返回开发者自定义的保存结果值(以Word为例) | 代码详解

通过后台代码设置PageOffice.FileSaver.CustomSaveResult 属性,给前台页面PageOffice对象返回一个用户自定义的值,以满足部分开发者给前台页面返回ID或其他保存结果的需求。

/SaveReturnValue
一、10、给保存页面(SaveFilePage属性指向的页面)传递参数 | 代码详解

此示例演示了PageOffice给保存页面传递参数的三种方式:(1)通过设置保存页面的url中的?传递参数;(2)通过input隐藏域给保存页面传递参数;(3)通过Form控件给保存页面传递参数(这里的Form控件包括输入框、下拉框、单选框、复选框、TextArea等类型的控件)。

/SendParameters
一、11、给Word文档中的数据区域(DataRegion)赋值的简单示例 | 代码详解

此示例是一个最简单的给Word数据区域赋值的示例。预先在Word文档中手工设置一些DataRegion,通过PageOffice可以实现在文档中标记的位置处动态填充内容。

/DataRegionFill
一、12、简单的给Excel表格赋值 | 代码详解

此示例是一个最简单的给Excel单元格赋值的示例。

/ExcelFill
一、13、最简单的提交Word中的用户输入内容 | 代码详解

演示PageOffice使用WordReader对象获取Word文档中数据的效果。此示例仅演示了最基本的功能,更详细功能请参考“综合演示”示例。

/SubmitWord
一、14、最简单的提交Excel中的用户输入内容 | 代码详解 (国产版此功能正在开发中)

演示PageOffice使用ExcelReader对象获取Excel文档中单元格数据的效果。此示例仅演示了最基本的功能,更详细功能请参考“综合演示”示例。

/SubmitExcel
一、15、演示加盖印章和签字功能(以Word为例)

演示PageOffice在线编辑时盖章和签字的功能。此示例演示了多种盖章操作和盖章后的效果,更多印章相关的功能请参考“综合演示”示例。印章管理平台可以轻易集成到您的软件系统中。

/InsertSeal
一、16、控制保存、另存和打印功能(以Word为例)

演示怎样分别禁止Office的保存、另存和打印功能。

/CommandCtrl
一、17、给Word文档中Table赋值的简单示例 | 代码详解

演示了PageOffice对Word文档中Table的操作,包括给单元格赋值和动态添加行的效果。

/WordSetTable
一、18、使用数据标签(DataTag)给Word文件填充文本数据 | 代码详解

给Word模板中数据标签(DataTag)赋值,针对模板中有多处位置需要同一数据的需求,使用数据标签可以重复标记多处需要填充同一数据的位置,然后对数据标签编程实现填充模板生成文件。

/WordDataTag2
一、19、在PageOffice自定义工具条上添加一个按钮(以Word为例) | 代码详解

给PageOffice自定义工具条上添加一个按钮,并设置点击时执行的代码。

/CustomToolButton
一、20、添加文档打开之后在页面里触发的事件(以Word为例) | 代码详解

演示怎样使用文档打开之后在页面里触发的事件,此事件很常用,需要在文件打开的时候执行的代码都可以放到此事件中执行。

/AfterDocOpened
一、21、用JS控制PageOffice窗口上各个工具栏的隐藏和显示(以Word为例) | 代码详解

演示怎样用JS控制标题栏、自定义工具栏、Office工具栏的隐藏和显示。

/JsControlBars
一、23、对Excel中的一块区域赋值,并自动增加行 | 代码详解

演示使用PageOffice的方法OpenTable,实现行增长,还可以循环使用原模板Table区域(B4:F13)单元格样式。

/ExcelTable
一、24、另存文件为HTML格式(以Word为例) | 代码详解

演示使用PageOffice的WebSaveAsHTML方法,另存文件为Html格式保存到服务器。

/SaveAsHTML
一、26、文档保存前和保存后要做的事情(以Word为例) | 代码详解

演示怎样在文档保存之前和保存之后执行自己的业务逻辑代码。

/BeforeAndAfterSave
一、28、既保存Word文档中指定位置的数据,又保存整篇文档(以Word为例) | 代码详解

演示如何将setSaveDataPage和setSaveFilePage方法结合使用,以达到同时保存数据和文件的效果。

/SaveDataAndFile
一、31、禁止Word中鼠标右键 | 代码详解

演示如何使用服务器端方法setDisableWindowRightClick(true)禁止当前Word文档中鼠标右键菜单。

/WordDisableRight
一、32、禁止Excel中鼠标右键 | 代码详解

演示如何使用服务器端方法setDisableSheetRightClick(true)禁止当前Excel工作表鼠标右键菜单。

/ExcelDisableRight
一、35、演示强制留痕模式编辑Word文档 | 代码详解

演示WebOpen方法的第二个参数使用docRevisionOnly,第三个参数传用户名,以强制留痕模式在线打开编辑Word文档。

/RevisionOnly
一、36、在Word文件只读的情况下向Word文件中插入键盘批注

演示WebOpen方法的第二个参数使用docCommentOnly,第三个参数传用户名,在Word文件只读的情况下向Word文件中插入键盘批注。

/CommentOnly
一、37、使用PageOffice浏览器打开的页面(子页面)回调父页面的函数用来传值(以Word为例)

使用PageOffice浏览器打开的页面(子页面)回调父页面JS函数,此功能还可以实现当子页面关闭以后自动更新父页面的局部状态信息。

/CallParentFunction
一、38、父页面给POBrowser打开文件的页面(子页面)传递参数

使用openWindow的第三个参数向POBrowser打开文件的页面传递参数。(说明:如果传递短参数的话,直接用“?参数名称=”这种方式传递,如果参数字节超过1000b的话,只能用"openWindow的第三个参数"方式传递。)

/GetParentParamValue
一、39、POBrowser窗口中切换打开不同的文件

演示在POBrowser浏览器窗口中通过点击超链接切换打开不同文件的效果。

/SwitchFile

二、高级功能

类型 功能示例 文件夹
二、1、文件在线安全浏览(以Word为例) | 代码详解

使用只读模式在线打开Word文件,禁止编辑、拷贝、打印、另存。

安全浏览文档禁止:编辑、复制、粘贴、右键菜单、选择、下载、另存、F12下载、PrintScreen拷屏等操作。

/ReadOnly
二、2、打开保存数据库中的文件(以Word为例)

演示如何使用PageOffice以流的方式打开数据库中保存的文件。不推荐把文件保存在数据库中,不便于调试,并且影响数据库的查询速度。

/DataBase
二、4、在线打开PDF文件(专业版、企业版) | 代码详解

演示使用POPDF组件在线打开PDF文件的效果,标题栏、工具栏和自定义工具条都可以分别隐藏,同时自定义工具条上的按钮的数量和功能均可编程控制。

/POPDF
二、5、Office文件转换为PDF文件(以Word为例)(专业版、企业版) | 代码详解

演示打开Word文件,转存为PDF格式到服务器的效果。

/SaveAsPDF
二、6、后台编程插入Word文件到数据区域(专业版、企业版) | 代码详解

此示例演示了通过后台编程,实现打开文件时多个Word文件插入到模板指定位置,生成一个合并文档的效果。

/WordResWord
二、7、后台编程插入图片到数据区域(专业版、企业版) | 代码详解

此示例在示例9的基础上做了修改,实现了图片和Word文件混合插入到模板指定位置,生成一个合并文档的效果。

/WordResImage
二、8、后台编程插入Excel文件到数据区域(企业版) | 代码详解 (国产版此功能正在开发中)

此示例在上一个示例的基础上做了修改,实现了Word和Excel文件混合插入到模板指定位置,生成一个合并文档的效果。

/WordResExcel
二、9、给Word文档添加水印(企业版) | 代码详解

通过设置PageOffice.WordWriter.WaterMark 属性,给Word文档添加水印。

/AddWaterMark
二、10、使用数据标签(DataTag)给Word文件填充带格式的数据(专业版、企业版) | 代码详解

给Word模板中数据标签(DataTag)赋值,针对模板中有多处位置需要同一数据的需求,使用数据标签可以重复标记多处需要填充同一数据的位置,然后对数据标签编程实现填充模板生成文件。

/WordDataTag
二、11、在Word中动态创建数据区域(专业版、企业版) | 代码详解

演示使用CreateDataRegion方法动态添加数据区域的功能。动态添加数据区域,可以在生成Word文件的时候更灵活,甚至可以从空白的Word文件生成一个图文并茂的文件(详见“高级功能”示例)。

/DataRegionCreate
二、12、执行文档中的宏命令(专业版、企业版)

使用PageOffice的RunMacro方法可以运行文档中的宏命令。

/RunMacro
二、13、FileMaker转换单个文档(以Word为例)(专业版、企业版) | 代码详解

演示使用FileMaker对象动态生成文件的效果。虽然还是在客户端生成文件后保存到服务器上的,但是不在客户端显式的打开文件。

/FileMakerSingle
二、14、向Word文档中的Table插入新行并赋值(专业版、企业版) | 代码详解

演示了PageOffice给Word中表格插入新行的功能,同时也演示了如何给存在纵向合并单元格的表格添加新行。

/WordTable
二、15、手写批注接口演示(企业版)

演示了如何使用程序控制手写批注的线宽、颜色、缩放、笔触类型等功能。

/WordHandDraw
二、16、获取Word文件中表格的数据(专业版、企业版) | 代码详解 (国产版此功能正在开发中)

演示了获取Word表格中的数据。要想获取表格中的数据,前提是:这个表格必须在一个数据区域内。使用数据区域对象的OpenTable方法就可以获取到表格中各个单元格的数据。

/DataRegionTable
二、17、控制数据区域文本的样式(专业版、企业版) | 代码详解

演示了如何使用程序控制数据区域文本的样式,包括设置文本的字体、字号、颜色、对齐方式。

/DataRegionText
二、18、控制不同用户编辑Word文档中不同的区域 | 代码详解

演示了如何使用程序控制不同用户打开文件后,只能编辑Word文档中属于自己的区域。

/SetDrByUserWord
二、19、控制不同用户编辑Word文档中不同的区域(可同时编辑)(企业版) | 代码详解

演示了如何使用程序控制不同用户打开文件后,只能编辑Word文档中属于自己的区域。用此方法开发的话,支持多个人同时打开一个文件编辑各自的区域而互不影响的。

/SetDrByUserWord2
二、21、使用程序合并Word文件中表格的单元格并赋值(专业版、企业版) | 代码详解 (国产版此功能正在开发中)

演示了使用MergeTo方法合并Word文件中表格的指定单元格,并填充文本数据,设置文字的字体、样式和对齐方式。

/MergeWordCell
二、23、使用程序合并Excel的单元格并设置格式和赋值(专业版、企业版)

演示了使用程序合并指定的Excel单元格,并设置文本格式和赋值。

/MergeExcelCell
二、24、控制不同用户编辑Excel文档中不同的区域(专业版、企业版) (国产版此功能正在开发中)

演示了如何使用程序控制不同用户打开文件后,只能编辑Excel文档中属于自己的区域。

/SetXlsTableByUser
二、25、使用程序 “绘制” Excel表格线(专业版、企业版) | 代码详解

演示了如何通过对ExcelWriter对象编程,在Excel文档中设置各个单元格或区域的边框样式,也就是设置Excel的表格线样式。

/SetExcelCellBorder
二、26、用程序设置Excel单元格文本的字体、颜色、对齐和背景色(专业版、企业版) | 代码详解

演示了如何通过对ExcelWriter对象编程,设置Excel各个单元格文本的字体和颜色,设置单元格的对齐方式和背景色。

/SetExcelCellText
二、27、给Word文档中的数据区域(DataRegion)赋值并设置样式 (专业版、企业版) | 代码详解

此示例是一个最简单的给Word数据区域赋值的示例。预先在Word文档中手工设置一些DataRegion,通过PageOffice可以实现在文档中标记的位置处动态填充内容并设置文本的样式。

/DataRegionFill2
二、29、简单的给Excel单元格赋值设置文本颜色(专业版、企业版) | 代码详解

演示了用程序给Excel单元格填充数据,并设置文本的颜色。

/ExcelFill2
二、30、用户自定义模板中数据区域(DataRegion)的位置(专业版、企业版) | 代码详解

演示了使用PageOffice封装好的数据区域管理窗口,实现用户自己编辑模板,定义模板中各个数据区域位置的效果。

/DataRegionEdit
二、31、用户自定义模板中数据标签(DataTag)的位置(专业版、企业版) | 代码详解

演示了使用PageOffice封装好的数据标签管理窗口,实现用户自己编辑模板,定义模板中各个数据标签位置的效果。

/DataTagEdit
二、32、给Excel模板中定义了名称的单元格赋值(专业版、企业版) | 代码详解 (国产版此功能正在开发中)

Excel自身有一个“定义名称”的功能,可以给任意的单元格定义一个名称,比如定义某个单元格的名称为:testA1,此示例演示了,如何给这个名称为“testA1”的单元格赋值。

/DefinedNameCell
二、33、给Excel模板中定义了名称的一块区域赋值(专业版、企业版) | 代码详解 (国产版此功能正在开发中)

Excel自身有一个“定义名称”的功能,可以给选中的一块区域(在PageOffice的概念里称这块区域为一个Table)定义一个名称,比如定义区域“B4:F13”的名称为:report,此示例演示了,如何给这个名称为“report”的Table赋值。

/DefinedNameTable
二、34、FileMaker转换单个文档为PDF(以Word为例) (专业版、企业版) | 代码详解

演示使用FileMaker对象动态生成 PDF 文件的效果。虽然还是在客户端生成PDF文件后保存到服务器上的,但是不在客户端显式的打开文件。

/FileMakerPDF
二、35、演示比较两个版本的Word文档的功能 (企业版) | 代码详解

使用PageOffice同时在线打开两个版本的Word文档,切换显示其中的一个文档,或同时显示两个文档对比文档内容,实现在线的文档内容比较功能。

/WordCompare
二、36、给Word文本框中的数据区域赋值 (专业版、企业版) | 代码详解

给Word文档中文本框里的数据区域赋值,实现填充数据到word文件中某些特殊位置的效果。

/WordTextBox
二、39、拆分Word文档:把数据区域中的内容保存为子文档(企业版) | 代码详解

保存文件时,把Word文档中属性SubmitAsFile = true的数据区域中的内容提取出来,保存为一个子文件。

/SplitWord
二、40、Word的两种新建批注方式和批注列表效果(专业版、企业版)

演示了遍历当前文档中的所有键盘批注列表的形式显示以及新建键盘批注的效果。

/CommentsList
二、41、Word中显示痕迹列表效果 | 代码详解

演示了遍历当前文档中的所有痕迹以列表的形式显示以及点击痕迹列表中的痕迹导航到痕迹所在页的效果。

/RevisionsList
二、43、在Word文档中动态创建表格并赋值(专业版、企业版) | 代码详解 (国产版此功能正在开发中)

演示了如何在Word文档中动态创建多个表格并赋值。

/WordCreateTable
二、45、PDF文档中的关键字搜索(专业版、企业版)

演示了如何在PDF文档中以“上一个”和“下一个”的形式搜索关键字。

/PDFSearch
二、46、保存Word首页为图片(企业版) | (国产版此功能正在开发中)

演示了如何使用js调用WebSaveAsImage()方法将Word首页保存为图片。

/SaveFirstPageAsImg
二、47、Excel只读模式下调整行列(专业版、企业版) | 代码详解

演示了如何在Excel只读模式下允许用户手动调整Excel表的行高和列宽。

/ExcelAdjustRC
二、48、删除Word表格中的指定单元格所在行(企业版) | 代码详解

演示了如何使用服务器端方法removeRowAt(cell)删除Word表格中的指定单元格所在行。

/WordDeleteRow
二、49、Word中使用服务器端方法插入分页符(专业版、企业版) | 代码详解

演示了如何使用服务器端方法wordDocument.insertPageBreak()插入分页符,使得多个文档合并时各个文档的格式依旧保持不变。

/InsertPageBreak2
二、50、Excel单元格中插入图片(企业版) | 代码详解 (国产版此功能正在开发中)

演示了如何在Excel指定的单元格中插入图片,主要用到的方法是:cell.setValue("[imgage]images/logo.jpg[/imgage]")。

/ExcelInsertImage
二、51、Word表格中的单元格内插入图片(专业版、企业版) | 代码详解

演示如何使用cell.setValue("[imgage]doc/wang.gif[/imgage]")给Word表格中的单元格填充图片。

/WordTableSetImg
二、52、设置Word表格的样式(专业版、企业版) | 代码详解

演示如何使用使用Border类和Font类设置Word表格的边框样式及字体样式。

/WordTableBorder
二、53、提取Word中的图片(专业版、企业版) | 代码详解

演示如何使用使用Shape类获取Word文档中的图片。

/ExtractImage
二、54、在线打开图片(专业版、企业版) (国产版此功能正在开发中)

演示使用POPDF组件在线打开图片文件,支持放大、缩小、旋转等效果,标题栏、工具栏和自定义工具条都可以分别隐藏,同时自定义工具条上的按钮的数量和功能均可编程控制。

/OpenImage
二、55、在线编辑Word文档时,禁止拷贝内容到外部(企业版) | 代码详解

演示以编辑模式在线打开Word文档时,禁止拷贝在线Word中的内容到外部,只允许拷贝外部的内容到在线Word文件中的特效。

/DisableCopyOut
二、56、后台编程方式向Word数据区域中动态插入图片,并设置图片大小(企业版) | 代码详解

演示使用后台编程方式向Word数据区域中动态插入图片,并设置图片大小。

/InsertImageSetSize
二、57、FileMaker修改文档指定区域内容 (专业版、企业版) | 代码详解

演示FileMaker在不打开文件的情况下直接修改文档指定区域内容,并自动上传至服务器,整个过程中不会显示文档界面。

/FileMakerModify
二、58、通过RunMarco直接调用word或者excel文件中的宏命令(以docm文件为例)(专业版、企业版)

通过RunMacro直接调用word或者excel文件中的宏命令。

/RunMacroForDocm
二、59、通过服务端方法插入图片水印(企业版)

通过服务端方法插入图片水印。

/InsertImgWaterMark2

三、综合演示

类型 功能示例 文件夹
三、1、FileMaker批量转换文档(以Word为例)(专业版、企业版) | 代码详解

演示动态生成多个Word文件的效果。

/FileMaker
三、2、在Word文档中动态生成一张试卷

演示选择题库中的部分试题,动态生成一份试卷的效果。如果使用动态生成js的方式实现,那么所有的PageOffice版本都可以支持;如果使用动态创建数据区域的方式来实现,编程会更简单,但是标准版不支持。

/ExaminationPaper
三、7、完全编程实现动态生成Word文件(专业版、企业版)

演示了使用PageOffice.WordWriter命名空间中提供的类,用纯代码编程的方式在一个空白的Word文件中生成一个图文并茂、文本段落格式均已设置好的Word文档。

/WordParagraph
三、8、完全编程实现动态生成Excel文件(专业版、企业版)

演示了使用PageOffice.ExcelWriter命名空间中提供的类,用纯代码编程的方式在一个空白的Excel文件中“绘制”一个包含了复杂公式的、表格线和文本颜色俱全、单元格格式完美并填充了数据的Excel表。

/DrawExcel
三、9、使用PageOffice实现模板套红(专业版、企业版) | 代码详解

演示了使用PageOffice的数据填充功能实现Word文件套红的效果。

/TaoHong
三、10、插入Word表格模板动态生成工资条(专业版、企业版)

演示了插入Word文件、填充Word表格数据、合并Word文件、循环插入表格等功能。

/WordSalaryBill
三、13、FileMaker批量打印文件(以Word为例)(专业版、企业版)

演示批量打印Word文件的效果。

/FileMakerPrintFiles
三、14、全文搜索包含关键字的Word文档(专业版、企业版)

演示如何全文搜索包含关键字的Word文档,并且打开文档后高亮显示关键字。

/SaveAndSearch
三、15、Word批量转换成PDF文件(专业版、企业版) | 代码详解

演示如何使用FileMakerCtrl组件批量转换Word文件为PDF文件。

/FileMakerConvertPDFs
三、16、打开文档使用"并发控制"(以Word为例) 代码详解

演示在服务器端对文档进行加锁,只有被锁的用户才能打开此文档进行编辑,其他用户无法打开此文档,或无法以编辑模式打开此文档,防止多个用户同时打开一个文件,出现编辑保存文件相互覆盖的问题。

/BingFa

四、其他技巧

类型 功能示例 文件夹
四、3、在Word当前光标处插入书签

演示使用实现在文件中插入书签的功能。

/WordAddBKMK
四、4、js 定位光标到书签 | 代码详解

演示使用js定位光标到书签所在位置,一般可以用来实现盖章自动到指定位置的效果。

/WordLocateBKMK
四、7、js获取Word选中的文字 | 代码详解

演示使用js调获取到文件中目前选中的文本内容。

/WordGetSelection
四、12、js方式插入图片(以Word文档为例)

演示使用js插入图片到文档指定位置。

/InsertImgForJs
四、14、js方式给Word文档插入水印(企业版) | 代码详解

演示使用js方式给Word文档插入文字水印。

/JsInsertWaterMark

PageOffice V6.0

Copyright © 2023 北京卓正志远软件有限公司.

(本页是PageOffice示例,仅供程序员编程参考,不得作为独立网站发布)