我尝试在配置 JSON 中包含页码。我尝试了一些方法,但没有一个有效。查看GitHub页面上的转换器代码,我看到很多提到“page_number”,所以我认为这是可能的。
另外,有一些关于如何创建配置文件的文档吗?我只在 GitHub 页面上找到了一些示例。
我从要转换的原始 JSON 创建了一个中间 JSON 文件,以便更轻松地创建配置文件。我要转换的JSON是这样的(但我可以改变信息的位置):
{
"document": "document_name.pdf",
"labels": [
{
"label": "label_1",
"text": "some_text",
"page": 1,
"boundingBoxes": [
0.11554117647058823,
0.17014227068750512,
0.32081176470588235,
0.1710069997542349,
0.32081176470588235,
0.1818570739388864,
0.11554117647058823,
0.18099234487215662
]
},
{
"label": "label_2",
"text": "some_text",
"page": 2,
"boundingBoxes": [
0.269359477124183,
0.5985227851890204,
0.386081045751634,
0.5980899758112141,
0.386081045751634,
0.6102450429168925,
0.269359477124183,
0.6098081885916301
]
}
]
}
我尝试了下面的配置文件,但总的来说,第 2 页或更多页面的边界框是在第一页上制作的。
{
"entity_object":"labels",
"page": {
"pageNumber":"page"
},
"entity": {
"type_":"label",
"mention_text":"text",
"normalized_vertices":{
"type":"3",
"unit":"normalized",
"base":"boundingBoxes",
"x":"x",
"y":"y"
}
}
}
{
"entity_object":"labels",
"page": {
"page_number":"page"
},
"entity": {
"type_":"label",
"mention_text":"text",
"normalized_vertices":{
"type":"3",
"unit":"normalized",
"base":"boundingBoxes",
"x":"x",
"y":"y"
}
}
}
{
"entity_object":"labels",
"entity": {
"type_":"label",
"mention_text":"text",
"pageNumber":"page",
"normalized_vertices":{
"type":"3",
"unit":"normalized",
"base":"boundingBoxes",
"x":"x",
"y":"y"
}
}
}
{
"entity_object":"labels",
"entity": {
"type_":"label",
"mention_text":"text",
"page_number":"page",
"normalized_vertices":{
"type":"3",
"unit":"normalized",
"base":"boundingBoxes",
"x":"x",
"y":"y"
}
}
}
我认为转换器当前不会从配置 JSON 或输入文件中读取页码。所以我认为按照当前的设计,所有实体都将显示在第一页上。
我一直在努力尝试重构转换器工具,使其支持更多用例和结构,但时间很难找到。
此目录中还有示例 config.json 文件作为示例
https://github.com/googleapis/python-documentai-toolbox/tree/main/samples/sample-converter-configs
并根据示例代码中的信息:
https://cloud.google.com/document-ai/docs/toolbox#third-party-conversion