У меня есть текст в текстовом документе, который я затем сохранил как файл pdf. Когда я конвертирую pdf в html с помощью Apache Tika, он добавляет дополнительные пробелы между предложениями и усекает предложения. Но я хочу, чтобы PDF-файл преобразовывался в html без этих пробелов и усечений предложений.
Код, который я использовал для преобразования PDF в html:
try {
File file = new File("path/to/pdf");
byte[] bytes = Files.readAllBytes(Paths.get(file.toURI()));
Parser tikaParser = new AutoDetectParser();;
ByteArrayOutputStream out = new ByteArrayOutputStream();
Metadata metaData = new Metadata();
ParseContext context = new ParseContext();
SAXTransformerFactory factory = (SAXTransformerFactory) SAXTransformerFactory.newInstance();
TransformerHandler textHandler = factory.newTransformerHandler();
textHandler.getTransformer().setOutputProperty(OutputKeys.METHOD, "html");
textHandler.getTransformer().setOutputProperty(OutputKeys.INDENT, "yes");
textHandler.getTransformer().setOutputProperty(OutputKeys.ENCODING, "utf-8");
textHandler.setResult(new StreamResult(out));
ExpandedTitleContentHandler expandedTitleContentHandler = new ExpandedTitleContentHandler(textHandler);
tikaParser.parse(new ByteArrayInputStream(bytes), expandedTitleContentHandler, metaData, context);
String content= new String(out.toByteArray(), StandardCharsets.UTF_8);
return content;
} catch (TransformerConfigurationException | TikaException | SAXException e) {
e.printStackTrace();
}
Я хочу, чтобы html выглядел именно так, как выглядит содержимое pdf:
html, созданный из содержимое pdf:
Как можно видеть, Тика добавляет лишние пробелы, обрезает предложения и удаляет стили формата pdf.
ВОПРОС :
Итак, как я могу настроить Tika или Tika AutoDetectParser, чтобы сохранить форматирование в файле pdf, как оно есть, и НЕ усекать, добавлять пробелы и удалять стили?
ОБНОВЛЕНИЯ:
Apache Версия пакетов Tika Core и Parsers: 1.24.1