Преобразовать Microsoft Word Docx в HTML с помощью Apache PoiJAVA

Программисты JAVA общаются здесь
Anonymous
Преобразовать Microsoft Word Docx в HTML с помощью Apache Poi

Сообщение Anonymous »

Я должен конвертировать файлы Word Docx в HTML, сохраняя формат HTML точно таким же, как если бы он был преобразован самим словом. Он будет работать на производственном сервере, где Office (Microsoft, OpenOffice, LibreOffice, ...) не разрешается установить. Xwpfparagraph имеет параметр, где есть стиль, используемый в документе Microsoft Word. Я могу получить доступ к значениям FONT-Family, Font-Size и другим параметрам в объекте абзаца, но в стиле есть некоторые определения, которые не находятся в абзаце, ни в объектах Runs. Но я не могу найти, например, смелый для персонажей, которые определены в стиле, а не в параграфе, ни в пробеже. Использование SAX, но я думаю, что это лучшая работа, если я могу сделать все это с POI.public class Start2 {

public static void main(String[] args) throws InvalidFormatException, IOException {
String inputDoc = "D:/TestOutput/OriginalDoc.docx";
String styleP, styleR, auxTexto;

boolean div = false;

String htmlStart = "\r\n";
String htmlHead = "\r\n" +
"\r\n";
String htmlFilename = "D:/TestOutput/TestOutput.html";
File htmlFile = new File(htmlFilename);
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(htmlFile, false), StandardCharsets.UTF_8));

FileInputStream fis = new FileInputStream(inputDoc);
XWPFDocument xdoc = new XWPFDocument(OPCPackage.open(fis));
List paragraphs = xdoc.getParagraphs();

bw.write(htmlStart + "\r\n");
bw.write("\r\n");
bw.write(htmlHead);
bw.write("\r\n");
bw.write("html {font-family:Arial;}\r\n"); // margin-left: 30px; margin-right: 30px;

// ???

bw.write("\r\n");
bw.write("\r\n");
bw.write("\r\n");

for(XWPFParagraph para : paragraphs) {
if (para.getStyle() != null) {
bw.write("
div = true;
} else {
bw.write("

Подробнее здесь: https://stackoverflow.com/questions/796 ... apache-poi

Вернуться в «JAVA»