Java 将html页面模板与用户数据存储在DOCX文件中后的外观

Java 将html页面模板与用户数据存储在DOCX文件中后的外观,java,html,css,jsoup,Java,Html,Css,Jsoup,我已经开发了一个HTML和CSS网页模板,看起来像: 一旦用户在此网页上输入数据并单击发送按钮。我的java应用程序将触发一封电子邮件以及一个作为附件的docx文件,其中该docx文件应包含与上图完全相同的网页模板以及用户输入的数据 我通过使用库JSOUP jar实现了这一点: File i1=新文件(“C:/Users/rpune/Desktop/Puneeth/java/DaimlerLoDATemplate\u Demo/WebContent/Template\u Demo\u new.

我已经开发了一个HTML和CSS网页模板,看起来像:

一旦用户在此网页上输入数据并单击发送按钮。我的java应用程序将触发一封电子邮件以及一个作为附件的docx文件,其中该docx文件应包含与上图完全相同的网页模板以及用户输入的数据

我通过使用库JSOUP jar实现了这一点:

File i1=新文件(“C:/Users/rpune/Desktop/Puneeth/java/DaimlerLoDATemplate\u Demo/WebContent/Template\u Demo\u new.html”);
文档doc=Jsoup.parse(i1,“UTF-8”);
//对于项目名称
Element eleprojectname=doc.getElementById(“projectname”);
eleprojectname.attr(“value”,iv.getProjectname());
//用于名称字段
Element elename=doc.getElementById(“Name1”);
elename.attr(“value”,iv.getName());
//用于电子邮件字段
Element eleEmail=doc.getElementById(“电子邮件”);
eleEmail.attr(“value”,iv.getEmail());
我将从servlet请求中获取的对象数据设置为引用html文件中特定元素id的值:
Template\u demo\u new.html

设置完所有值后,此“单据”将转换为字符串以存储在特定文件中:

String html=doc.html();
WordprocessingMLPackage wordMLPackage=WordprocessingMLPackage.createPackage(PageSizePaper.A4,false);
AlternativeFormatInputPart afiPart=新的AlternativeFormatInputPart(新部件名(“/hw.html”);
setBinaryData(html.getBytes());
setContentType(新ContentType(“text/html”);
关系altChunkRel=wordMLPackage.getMainDocumentPart().addTargetPart(afiPart);
//HeaderPart hp=新HeaderPart
//文档正文中的位
CTAltChunk ac=Context.getWmlObjectFactory().createCTAltChunk();
ac.setId(altChunkRel.getId());
wordMLPackage.getMainDocumentPart().addObject(ac);
//内容类型
wordMLPackage.getContentTypeManager().addDefaultContentType(“html”、“text/html”);
wordMLPackage.save(新的java.io.File(“C:/Users/rpune/Desktop/RajPuneeth/LoDA_BRD_Template_v1.0.docx”);
代码将web模板与用户数据一起存储。但是文档docx文件的外观与网页模板不完全相同,网页模板的大小和背景颜色与html网页中的不一样,如图所示:


请告诉我如何才能在电子邮件版本中获得与html模板相同的外观?

浏览器和电子邮件客户端不会呈现完全相同的html。您需要为每个用户创建一个模板。不,模板对于所有用户都是通用的,因为我正在从会话处理此模板。一旦用户在填写字段后最后单击“提交”按钮。我的应用程序是从请求中获取数据,并将其分配给模板_demo.html,Jsoup jar将此html转换为java字符串,放入docx文件,如上面的代码所示,并触发一封带有此文件作为附件的邮件。浏览器和电子邮件客户端不会呈现完全相同的html。您需要为每个用户创建一个模板。不,模板对于所有用户都是通用的,因为我正在从会话处理此模板。一旦用户在填写字段后最后单击“提交”按钮。我的应用程序是从请求中获取数据,并将其分配给模板_demo.html,Jsoup jar将此html转换为java字符串,放入docx文件,如上面的代码所示,并触发一封带有此文件作为附件的邮件。