对文字文档进行操作,如导出为PDF文档,获取页码和跳转页等。
重要
此文档已不再维护,建议您使用新版智能媒体管理。
关于智能媒体管理新版与旧版的对比,请参见新旧版本使用指引。
关于新版智能媒体管理文档预览的详细信息,请参见WebOffice前端开发。
导出为PDF
/*
* 目前只支持两个参数RangeType和FrameSlides。
* @param: { Range?: WdExportRange, From?: number, To?: number, Item?: WdExportItem, IncludeDocProps?: bool }
* WdExportRange: {
* wdExportAllDocument: 0,
* wdExportCurrentPage: 2,
* wdExportFromTo: 3,
* wdExportSelection: 1,
* },
* WdExportItem: {
* wdExportDocumentContent: 0,
* wdExportDocumentWithMarkup: 7
* }
*/
await demo.WordApplication().ActiveDocument.ExportAsFixedFormat()
获取页码和跳转页
定义后续示例需要用到的变量。
const app = demo.WordApplication()
const {Enum} = app
获取总页数
说明由于文字文档是流式排版,无法在开始确定最终页数,只有浏览到最后才能知道总页数。
/* * @param: WdInformation: { * wdNumberOfPagesInDocument: 4 * } * @return: {PagesCount: number, End: boolean} */ let totalPages = await app.ActiveDocument.Range.Information(Enum.WdInformation.wdNumberOfPagesInDocument) if (totalPages.End) { console.log("加载完了!一共", totalPages.PagesCount, "页") }
获取当前页
/* * @param: WdInformation: { * wdActiveEndPageNumber: 3 * } * @return: number */ let currentPage = await app.ActiveDocument.Selection.Information(Enum.WdInformation.wdActiveEndPageNumber)
跳转到指定页
说明由于文字文档是流式排版,文字文档较大时,跳转时间会比较长,建议加一个中间loading过渡效果。
/* * @param: { What?: WdGoToItem, Which?: WdGoToDirection.wdGoToAbsolute, Count?: number, Name?: string} * WdGoToItem: { * wdGoToPage: 1, * } * WdGoToDirection: { * wdGoToAbsolute: 1 * } */ await app.ActiveDocument.Selection.GoTo(Enum.WdGoToItem.wdGoToPage, Enum.WdGoToDirection.wdGoToAbsolute, 10) //或者使用如下代码。 await app.ActiveDocument.Selection.GoTo({ What: Enum.WdGoToItem.wdGoToPage, Which: Enum.WdGoToDirection.wdGoToAbsolute, Count: 10 })
当前页改变事件
function eventHandle() { // do something } //监听当前页改变事件。 app.Sub.CurrentPageChange = eventHandle //销毁事件监听。 app.Sub.CurrentPageChange = null
文档内容是否对您有帮助?