Как вы заметили, при взломе документа по умолчанию весь текст помещается в одно поле (контент). Если у вас есть навык OCR (если в PDF есть изображения, содержащие текст), он делает то же самое по умолчанию в merged_content. Я не верю, что есть способ заставить эти две задачи разбить ваши данные на страницы.
Я говорю «верю», потому что трудно найти документацию по форме объекта документа, который вводится в ваши навыки. Например, посмотрите на вход в этот набор навыков слияния. Он использует / document / content и другие связанные с документом данные и помещает их в поле с именем merged_content. Если бы вы могли найти документацию по всем полям в документе, это МОЖЕТ привести к разбивке ваших страниц.
{
"@odata.type": "#Microsoft.Skills.Text.MergeSkill",
"name": "#BookMergeSkill",
"description": "Some description",
"context": "/document",
"insertPreTag": " ",
"insertPostTag": " ",
"inputs": [
{
"name": "text",
"source": "/document/content"
},
{
"name": "itemsToInsert",
"source": "/document/normalized_images/*/text"
},
{
"name": "offsets",
"source": "/document/normalized_images/*/contentOffset"
}
],
"outputs": [
{
"name": "mergedText",
"targetName": "merged_content"
}
]
},
Единственный способ, который я знаю, - это использовать пользовательский навык , которая будет находиться в функции Azure и вызываться как часть конвейера набора навыков документа. Внутри этой функции Azure вам придется использовать программу чтения PDF, например iText7, и самостоятельно открывать документы и возвращать данные, которые вы поместите в индексный документ в виде массива текста или пользовательских объектов.
Мы собирались go завершить пользовательский процесс взлома с клиентом (не для этого, а по другим причинам), но проект был законсервирован из-за стоимости хранения больших объемов данных в индексе.