diff --git a/src/components/RenderMinerU/index.vue b/src/components/RenderMinerU/index.vue
index aeffd1e..6a7f2eb 100644
--- a/src/components/RenderMinerU/index.vue
+++ b/src/components/RenderMinerU/index.vue
@@ -206,6 +206,7 @@ export default {
filters: {},
methods: {
//changePage
+ // 分页发生改变时
changePage(page) {
let documentId = document.getElementById(`view-code-${page - 1}`)
let viewBody = document.getElementById('viewBody')
@@ -221,7 +222,7 @@ export default {
}
},
- //重新识别
+ //重新识别表格
retryMinerImage(chooseItem, loading, tableElement) {
imageRetry({
documentId: this.documentId,
@@ -238,8 +239,8 @@ export default {
})
},
- // 生成视觉模型
- viewHtmlModel() {
+ // 生成视觉模型按钮
+ generateTableButtons() {
this.$nextTick(() => {
const mdHtml = document.getElementById('md-editor')
// 监听鼠标悬停事件,为表格元素添加浮层按钮
@@ -278,7 +279,6 @@ export default {
})
})
},
-
// 封装 按钮生成事件
generateButton(tableElement, buttonContainer, actionButtons) {
// 获取表格的可编辑状态
@@ -303,7 +303,6 @@ export default {
buttonContainer.appendChild(button)
}
},
-
// 查找匹配的表格
findMatchingTable(tableElement) {
let chooseItem = null
@@ -333,7 +332,6 @@ export default {
}
return chooseItem
},
-
// 获取表格文本
getTableText(tableElement) {
let stringTable = tableElement.innerHTML
@@ -345,7 +343,6 @@ export default {
}
return ''
},
-
// 从 HTML 中获取表格文本
getTableTextFromHtml(html) {
let tableMatch = html.match(/
([\s\S]*)<\/table>/)
@@ -356,15 +353,14 @@ export default {
}
return ''
},
-
// 更新表格属性
updateTableAttributes(tableElement, chooseItem) {
tableElement.setAttribute('data-path-id', this.selectionImagePath.replace(/\.[^/.]+$/, ''))
let fileType = this.selectionImagePath.match(/\.[^/.]+$/)[0]
tableElement.setAttribute('data-path-type', fileType)
},
-
- linesMap(table) {
+ // 获取bbox 的 表格图片生成对照表
+ extractTableData(table) {
;(table.blocks ? table.blocks : []).map(lines => {
lines.lines.map(spans => {
spans.spans.map(span => {
@@ -373,12 +369,13 @@ export default {
})
})
},
- setTableSelection(selection) {
+ // 填充对照表
+ fillSelectionTable(selection) {
selection.map(item => {
if (item.preproc_blocks && item.preproc_blocks.length > 0) {
item.preproc_blocks.forEach(block => {
if (block.type === 'table') {
- this.linesMap(block)
+ this.extractTableData(block)
}
})
}
@@ -386,23 +383,21 @@ export default {
if (item.discarded_blocks && item.discarded_blocks.length > 0) {
item.discarded_blocks.forEach(block => {
if (block.type === 'table') {
- this.linesMap(block)
+ this.extractTableData(block)
}
})
}
})
},
-
// 导出
emitMarkDown() {
let pre = document.getElementById('md-editor').innerText
this.$emit('getMarkDownIt', { innerText: pre })
},
+ // 保存markdown
saveMarkDown() {
let pre = document.getElementById('md-editor').innerHTML
-
// pre + ebiz-code标签
-
minerUMarkDownUpdate({
documentId: this.documentId,
newMd: pre
@@ -446,14 +441,15 @@ export default {
minerUBbox({ documentId: this.documentId }).then(res => {
this.bboxList = this.formatJson(JSON.parse(JSON.stringify(res.content.content)))
- this.setTableSelection(JSON.parse(JSON.stringify(res.content.content)))
+ this.fillSelectionTable(JSON.parse(JSON.stringify(res.content.content)))
// this.$refs.iframe 重新刷新iframe
this.$refs.iframe.contentWindow.location.reload()
- this.getMdPage()
+
+ this.getPDFDetailMarkDown()
})
},
-
- getMdPage() {
+ // 获取md分页
+ getMdPage(back) {
let responseText = ''
getMd_info({ documentId: this.documentId }).then(async res => {
if (res) {
@@ -465,14 +461,24 @@ export default {
responseText += `
${text}`
}
- this.getPDFDetailMarkDown(responseText)
+ back(responseText)
}
})
},
+ // 渲染markdown
+ renderMarkDown() {
+ this.markdown = this.markdown
+ .replace(/ {
+ const uniqueId = `table-${this.tableIdCounter++}`
+ return ` {
this.changePage(this.page, evt)
}, 100)
},
// 初始md 文档
- async getPDFDetailMarkDown(responseText) {
+ async getPDFDetailMarkDown() {
// responseText 判断是否包含ebiz-code
const response = await fetch(minerUMarkDown({ documentId: this.documentId }))
this.markdown = await response.text()
// this.markdown 包含 ebiz-code
if (this.markdown.indexOf(' {
- const uniqueId = `table-${this.tableIdCounter++}`
- return ` {
+ this.markdown = responseText
+ this.renderMarkDown()
})
- .replace(/