Я хотел знать, как я могу преобразовать docx4j отображаемое свойство doc в «простой текст». Мой документ схемы как в следующем:docx4j как преобразовать встроенные свойства документа в простой текст при преобразовании docx в pdf
Full Name: [DOCPROPERTY] [DOCPROPERTY]
Date and Place of Birth: [DOCPROPERTY] [DOCPROPERTY]
Основная проблема заключается в том, что, когда я конвертировать мой документ в формате PDF, я освобождаю вышеуказанную информацию. Вот код:
String inputfilepath = "...somePath"
String outputfilepathWord = "...anotherPath"
WordprocessingMLPackage wordMLPackage = WordprocessingMLPackage.load(new java.io.File(inputfilepath));
wordMLPackage.save(new File(outputfilepathWord));
FOSettings foSettings = Docx4J.createFOSettings();
foSettings.setWmlPackage(wordMLPackage);
OutputStream os = new java.io.FileOutputStream(outputfilepath);
Docx4J.toFO(foSettings, os, Docx4J.FLAG_EXPORT_PREFER_XSL);
и в PDF конвертируется я иметь следующую структуру:
Full Name:
Date and Place of Birth:
Заранее спасибо!
Edit:
Использование FieldUpdater
FieldUpdater updater = new FieldUpdater(wordMLPackage);
updater.update(true);
уловы за исключением следующего:
java.util.NoSuchElementException
at java.util.LinkedList.removeFirst(LinkedList.java:268)
at java.util.LinkedList.pop(LinkedList.java:799)
at org.docx4j.model.fields.FieldsPreprocessor.inParentResult(FieldsPreprocessor.java:214)
at org.docx4j.model.fields.FieldsPreprocessor.handleRun(FieldsPreprocessor.java:346)
at org.docx4j.model.fields.FieldsPreprocessor.handleContent(FieldsPreprocessor.java:180)
at org.docx4j.model.fields.FieldsPreprocessor.canonicaliseInstance(FieldsPreprocessor.java:142)
at org.docx4j.model.fields.FieldsPreprocessor.canonicalise(FieldsPreprocessor.java:128)
здесь:
else if (p.getParent() instanceof java.util.List) {
// This does happen!
index = ((java.util.List)p.getParent()).indexOf(p);
P newP = FieldsPreprocessor.canonicalise(p, fieldRefs); //<<--EXCEPTION
//log.debug("NewP length: " + newP.getContent().size());
((java.util.List)p.getParent()).set(index, newP);
jasonplutext видеть мое редактирование пожалуйста – Franky
Вы должны войти в проблему, в том числе теста реплицировать на https://github.com/plutext/docx4j/issues – JasonPlutext
, кажется, что FieldUpdater падает при столкновении с «:» в значение docproperty. – Franky