Я хочу преобразовать шаблон DOCX в PDF в Java с помощью Maven. Шаблон содержит, если условия, каждая петля и динамически отображаемые таблицы на основе данных. Мне нужно заполнить этот шаблон данных JSON, а затем преобразовать его в PDF. Как я могу этого добиться? В частности, я борюсь с обработкой условных утверждений и петлей в шаблоне. Кроме того, динамическая рендеринга таблиц на основе данных JSON не работает, как ожидалось. DATA. Любая помощь с обработкой условных утверждений, петлей и динамического рендеринга таблицы в шаблонах DOCX была бы очень оценена.
org.docx4j
docx4j
11.5.1
org.docx4j
docx4j-export-fo
11.5.1
org.glassfish.jaxb
jaxb-runtime
2.3.6
< /code>
java code < /h3>
import org.docx4j.openpackaging.packages.WordprocessingMLPackage;
import org.docx4j.wml.*;
import java.io.File;
import java.util.List;
import java.util.Map;
public class DocxToPdfConverter {
public static void main(String[] args) throws Exception {
WordprocessingMLPackage wordMLPackage = WordprocessingMLPackage.load(new File("documentTemplate_docx4j.docx"));
replacePlaceholders(wordMLPackage, data);
wordMLPackage.save(new File("filled_template.docx"));
}
// Method to replace placeholders in the DOCX template
private static void replacePlaceholders(WordprocessingMLPackage wordMLPackage, Map data) {
// Get the content of the DOCX document
List paragraphs = wordMLPackage.getMainDocumentPart().getContent();
for (Object obj : paragraphs) {
if (obj instanceof P) { // If the object is a paragraph
P paragraph = (P) obj;
List runs = paragraph.getContent();
for (Object runObj : runs) {
if (runObj instanceof R) { // If the object is a run (text chunk)
R run = (R) runObj;
List texts = run.getContent();
for (Object textObj : texts) {
if (textObj instanceof Text) { // Use org.docx4j.wml.Text instead of T
Text text = (Text) textObj;
String textValue = text.getValue();
// Replace placeholders with data
for (Map.Entry entry : data.entrySet()) {
textValue = textValue.replace("", entry.getValue());
}
// Set the updated value
text.setValue(textValue);
}
}
}
}
}
}
}
}
Подробнее здесь: https://stackoverflow.com/questions/792 ... -converter
DOCX4J - Шаблон DOCX - PDF -конвертер ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Docx в PDF -преобразование с использованием DOCX4J создает артефакт в пронумерованном списке
Anonymous » » в форуме JAVA - 0 Ответы
- 7 Просмотры
-
Последнее сообщение Anonymous
-