java #pdf #accessibility #pdfhtml
#java #PDF #Специальные возможности #pdfhtml
Вопрос:
Я новичок в iText, и у нас есть требование преобразовать существующие PDF-файлы в доступность. Итак, нам нужно преобразовать html в pdf с помощью java. В HTML-документах есть несколько таблиц с заголовками в структурах div. Я использовал следующий пример ссылки (https://kb.itextpdf.com/home/it7kb/examples/pdfhtml-accessible-pdf-creation ) для преобразования html в pdf. Что касается содержимого в таблице, оно отлично читается в формате pdf. Но порядок не работает нормально. Вот пример html, на который я ссылаюсь. Если вы прочитаете загрузку в Acrobat reader, он сначала прочитает заголовок, а затем содержимое с ним. Может ли кто-нибудь помочь в решении проблемы?
Ниже приведен пример html, который содержит несколько таблиц с использованием структуры div:
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
* {
box-sizing: border-box;
}
/* Create three equal columns that floats next to each other */
.column {
float: left;
width: 33.33%;
padding: 10px;
height: 300px; /* Should be removed. Only for demonstration */
}
/* Clear floats after the columns */
.row:after {
content: "";
display: table;
clear: both;
}
</style>
</head>
<body>
<h2>Firtst table </h2>
<div class="row">
<div class="column" style="background-color:#aaa;">
<h2>Column 1</h2>
<p>Some text..</p>
</div>
<div class="column" style="background-color:#bbb;">
<h2>Column 2</h2>
<p>Some text..</p>
</div>
<div class="column" style="background-color:#ccc;">
<h2>Column 3</h2>
<p>Some text..</p>
</div>
</div>
<h2>Second table </h2>
<div class="row">
<div class="column" style="background-color:#aaa;">
<h2>2nd table Column 1</h2>
<p>Some text..</p>
</div>
<div class="column" style="background-color:#bbb;">
<h2>2nd table Column 2</h2>
<p>Some text..</p>
</div>
<div class="column" style="background-color:#ccc;">
<h2>2nd table Column 3</h2>
<p>Some text..</p>
</div>
</div>
</body>
</html>**
Приведенный выше код содержит несколько таблиц, с которыми доступность не работает.
Комментарии:
1. В вашем HTML-коде нет таблиц. У вас есть элементы div, содержащие заголовки и абзацы, выполненные в виде таблиц с использованием CSS. Я не пользователь iText, но при любом обычном преобразовании PDF это не создает таблицу. Вы должны просмотреть теги PDF, чтобы увидеть, какая структура создается в процессе преобразования.
2. Тем не менее, если ваша таблица используется в основном для макета (т. Е. Не Для табличных данных), то вас могут заинтересовать концепции линеаризации таблицы макета: webaim.org/techniques/tables/#linearization