如何在Apps Script中统计文本文档页数?需为每页插入图片
如何在Apps Script中统计Google文本文档的页数
Google Apps Script没有直接获取文档页数的原生API,body.getNumChildren()返回的是文档内的内容元素数量(比如段落、列表项),并非页数。要统计页数,最靠谱的方式是借助文档导出的PDF文件提取页数——因为PDF的页数完全对应文档当前的分页状态。
实现代码
function getDocumentPageCount() { const doc = DocumentApp.getActiveDocument(); const docId = doc.getId(); // 将文档导出为PDF格式的Blob const pdfBlob = DriveApp.getFileById(docId).getAs('application/pdf'); // 解析PDF内容提取页数 const pdfContent = pdfBlob.getDataAsString(); const pageCountMatch = pdfContent.match(/\/Count (\d+)/); if (pageCountMatch) { const pageCount = parseInt(pageCountMatch[1]); Logger.log(`文档当前页数:${pageCount}`); return pageCount; } else { Logger.log('无法提取文档页数'); return null; } }
注意事项
- 运行脚本前需确保已授权访问Google Drive的权限
- 文档内容修改后分页会变化,需重新运行函数获取最新页数
- 若文档包含复杂格式(如分栏、跨页表格),PDF导出的页数依然能准确对应文档实际分页,稳定性优于手动统计分页符的方式
内容的提问来源于stack exchange,提问作者yenich
相关产品推荐
相关产品推荐

