refactor: 收敛文档 OCR 配置并补齐 Office 解析兼容
- 统一 MinerU OCR 配置结构并移除分模块冗余属性类 - 补齐 JSON 字符串化结果拆包、XLSX 图片兼容与对应回归测试
This commit is contained in:
@@ -49,6 +49,25 @@ public class MineruMapperTest {
|
||||
Assert.assertNotNull(result.getArtifacts().getContentList());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldMapStringifiedSyncArtifacts() {
|
||||
MineruMapper mapper = new MineruMapper(defaultProperties());
|
||||
MineruResultPayload payload = mapper.toResultPayload(syncPayloadWithStringifiedArtifacts());
|
||||
|
||||
ParseResponse response = mapper.toParseResponse(payload);
|
||||
|
||||
Assert.assertEquals(1, response.getResults().size());
|
||||
ParseResult result = response.getResults().get(0);
|
||||
Assert.assertEquals("# title", result.getMarkdown());
|
||||
Assert.assertFalse(result.getBlocks().isEmpty());
|
||||
Assert.assertEquals(1, result.getTables().size());
|
||||
Assert.assertEquals(2, result.getImages().size());
|
||||
Assert.assertNotNull(result.getImages().get(0).getContent());
|
||||
Assert.assertTrue(result.getArtifacts().getMiddleJson() instanceof JSONObject);
|
||||
Assert.assertTrue(result.getArtifacts().getContentList() instanceof JSONArray);
|
||||
Assert.assertEquals("plain-model-output", result.getArtifacts().getModelOutput());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldMapZipResponse() throws IOException {
|
||||
MineruMapper mapper = new MineruMapper(defaultProperties());
|
||||
@@ -292,6 +311,28 @@ public class MineruMapperTest {
|
||||
return payload;
|
||||
}
|
||||
|
||||
private JSONObject syncPayloadWithStringifiedArtifacts() {
|
||||
JSONObject payload = new JSONObject();
|
||||
payload.put("backend", "vlm-http-client");
|
||||
payload.put("version", "3.0.9");
|
||||
|
||||
JSONObject result = new JSONObject();
|
||||
result.put("md_content", "# title");
|
||||
result.put("middle_json", middleJson().toJSONString());
|
||||
result.put("content_list", contentList().toJSONString());
|
||||
result.put("model_output", "plain-model-output");
|
||||
|
||||
JSONObject images = new JSONObject();
|
||||
images.put("figure.png", "data:image/png;base64,ZmFrZQ==");
|
||||
images.put("table.png", "data:image/png;base64,ZmFrZQ==");
|
||||
result.put("images", images.toJSONString());
|
||||
|
||||
JSONObject results = new JSONObject();
|
||||
results.put("demo", result.toJSONString());
|
||||
payload.put("results", results);
|
||||
return payload;
|
||||
}
|
||||
|
||||
private JSONObject middleBlock(String type, String imagePath) {
|
||||
JSONObject block = new JSONObject();
|
||||
block.put("type", type);
|
||||
|
||||
Reference in New Issue
Block a user