获取页文本
const r = await mn.api('/documents/' + bookmd5 + '/pages?start=' + page + '&end=' + page);
if (r.error && r.error.code === 'SCAN_BUSY') {
// 扫描名额已满,按 details.retryAfterSeconds 等待后重发
mn.log(r.error.details.retryAfterSeconds);
}
mn.log(r.pages[0].text);{
"pages": [
{
"page": 12,
"text": "把街道还给行人的地方,店面反而活了下来。"
}
]
}文档与页面
获取文档页文本
按页范围读文本。没有文本层时 MarginNote 会先渲染再识别,因此该接口可能较慢。
单次请求最多跨 60 页。页范围按 PDF 页序编号,第一页为 1。超出范围的页返回空文本,状态码仍为 200。
带 blocks=1 时返回版面块的规则见参数说明,每块返回文字、类型与页内坐标。
扫描类接口共用两个名额,名额满了会立即返回 429,不排队。
新摘录进入全文索引有约十秒延迟,刚摘下来的内容不一定马上搜得到。
GET
/
documents
/
{bookmd5}
/
pages
获取页文本
const r = await mn.api('/documents/' + bookmd5 + '/pages?start=' + page + '&end=' + page);
if (r.error && r.error.code === 'SCAN_BUSY') {
// 扫描名额已满,按 details.retryAfterSeconds 等待后重发
mn.log(r.error.details.retryAfterSeconds);
}
mn.log(r.pages[0].text);{
"pages": [
{
"page": 12,
"text": "把街道还给行人的地方,店面反而活了下来。"
}
]
}路径参数
文档的内容标识。取自 GET /study-sets/{topicid}/documents 响应里各项的 bookmd5、GET /ui-state 的 state.bookmd5,或 GET /search?scope=documents。
查询参数
起始页,PDF 页序。与结束页一同必填,缺任一项会被拒。
必填范围:
x >= 1结束页,PDF 页序。与起始页一同必填,单次跨度上限 60 页。
必填范围:
x >= 1切成块返回,每页返回版面检测的块清单。比只取文本慢,建议只取一两页。
可用选项:
1 响应
页文本。
Show child attributes
Show child attributes