Я использую ниже код для преобразования слова в файл HTMLапач пои слово HTML преобразования - слова boundry
public Map convert(String wordDocPath, String htmlPath,
Map conversionParams)
{
log.info("Converting word file "+wordDocPath)
try
{
String workingFolder = "C:\temp"
File workingFolderFile = new File(workingFolder)
FileInputStream fis = new FileInputStream(wordDocPath);
XWPFDocument document = new XWPFDocument(fis);
XHTMLOptions options = XHTMLOptions.create().URIResolver(new FileURIResolver(workingFolderFile));
options.setExtractor(new FileImageExtractor(workingFolderFile))
File htmlFile = new File(htmlPath);
OutputStream out = new FileOutputStream(htmlFile)
XHTMLConverter.getInstance().convert(document, out, options);
log.info("Converted to HTML file "+htmlPath)
}
catch(Exception e)
{
log.error("Exception :"+e.getMessage(),e)
}
}
код правильно генерации HTML вывода.
Мне нужно поставить некоторые параметры в документе, например [[AGENT_NAME]]
, что я буду заменять регулярным выражением позже в коде. Но apache poi не рассматривает этот шаблон как одно слово и когда-то раскалывает «[[», «AGENT_NAME» & «]]» и вставляет некоторые теги со стилями между ними. Я не могу написать регулярное выражение и заменить параметры из-за этого.
Как apache poi решает горизонтальность слов? есть ли способ контролировать это?
Apache POI не решает на границах слов, это будет Microsoft Word, выбор при создании исходный файл ... – Gagravarr
Можете объяснить на нем больше? Любая ссылка будет полезна. Есть ли какой-либо особый символ, который является частью границы слов? – Fayaz
Отладка кода (XWPFDocument.paragraphs) и проверка спецификаций OpenOffice http://officeopenxml.com/WPparagraph.php, я понял, что MsWord может разделить текст на страницы в любом месте документа. Он может даже разбивать обычный непрерывный текст, не содержащий каких-либо специальных символов (например, AGENTNAME). Но можем ли мы контролировать это поведение? Как сделать текст считающимся одним прогоном? – Fayaz