Извлечение содержимого с тегами из PDF
Получение содержимого PDF с тегами
Для получения содержимого PDF-документа с текстом с тегами, Aspose.PDF предоставляет метод getTaggedContent() класса Document. Приведенный ниже фрагмент кода показывает, как получить содержимое PDF-документа с текстом с тегами:
// Для полных примеров и файлов данных, пожалуйста, посетите https://github.com/aspose-pdf/Aspose.PDF-for-Java
// Путь к директории документов.
String path = "pathTodir";
// Создать PDF-документ
Document document = new Document();
// Получить содержимое для работы с TaggedPdf
ITaggedContent taggedContent = document.getTaggedContent();
//
// Работа с содержимым Tagged Pdf
//
// Установить заголовок и язык для документа
taggedContent.setTitle("Простой документ с тегами PDF");
taggedContent.setLanguage("en-US");
// Сохранить документ с тегами PDF
document.save(path + "TaggedPDFContent.pdf");
Получение корневой структуры
Для получения корневой структуры помеченного PDF-документа Aspose.PDF предлагает методы getStructTreeRootElement(https://reference.aspose.com/pdf/java/com.aspose.pdf.tagged/ITaggedContent#getStructTreeRootElement--) и getStructureElement() интерфейса ITaggedContent. Следующий фрагмент кода показывает, как получить корневую структуру помеченного PDF-документа:
// Для полных примеров и файлов данных, пожалуйста, перейдите на https://github.com/aspose-pdf/Aspose.PDF-for-Java
// Путь к директории с документами.
String path = "pathTodir";
// Создание PDF документа
Document document = new Document();
// Получение контента для работы с TaggedPdf
ITaggedContent taggedContent = document.getTaggedContent();
// Установка заголовка и языка для документа
taggedContent.setTitle("Tagged Pdf Document");
taggedContent.setLanguage("en-US");
// Свойства StructTreeRootElement и RootElement используются для доступа к
// объекту StructTreeRoot PDF документа и к корневому элементу структуры (элемент структуры документа).
StructTreeRootElement structTreeRootElement = taggedContent.getStructTreeRootElement();
StructureElement rootElement = taggedContent.getRootElement();
Доступ к дочерним элементам
Для доступа к дочерним элементам Tagged PDF документа, Aspose.PDF предлагает класс ElementList. Следующий фрагмент кода показывает, как получить доступ к дочерним элементам Tagged PDF документа:
// Для полных примеров и файлов данных, пожалуйста, перейдите на https://github.com/aspose-pdf/Aspose.PDF-for-Java
String path = "pathTodir";
// Открыть PDF документ
Document document = new Document( path +"StructureElements.pdf");
// Получить содержимое для работы с TaggedPdf
ITaggedContent taggedContent = document.getTaggedContent();
// Доступ к корневому элементу(ам)
ElementList elementList = taggedContent.getStructTreeRootElement().getChildElements();
for (Element element : elementList)
{
if (element instanceof StructureElement)
{
StructureElement structureElement = (StructureElement)element;
// Получить свойства
String title = structureElement.getTitle();
String language = structureElement.getLanguage();
String actualText = structureElement.getActualText();
String expansionText = structureElement.getExpansionText();
String alternativeText = structureElement.getAlternativeText();
}
}
// Доступ к дочерним элементам первого элемента в корневом элементе
elementList = taggedContent.getRootElement().getChildElements().get_Item(1).getChildElements();
for (Element element : elementList)
{
if (element instanceof StructureElement)
{
StructureElement structureElement = (StructureElement)element;
// Установить свойства
structureElement.setTitle("title");
structureElement.setLanguage("fr-FR");
structureElement.setActualText("actual text");
structureElement.setExpansionText("exp");
structureElement.setAlternativeText("alt");
}
}
// Сохранить Tagged PDF документ
document.save( path +"AccessChildrenElements.pdf");