写代码时,可能需要生成pdf。尝试很多方法可以做更多的事。一般来说,我们的方法如下。

1.老师将html转换为html,并通过相关库将html转换为pdf,转换后的pdf实际上与html的表达有很大差异,无法分页。例如,主页通常是单独的封面,但通过html生成,因此很难控制主页独立。大多数情况下,第二页的内容在主页上生成,可以大大减少体验。

2.使用pdf生成类库的API生成。可以在pdf页面简单时处理。在复杂的情况下,例如生成复杂的报告,这个报告可以长达数十页。当结构项目很多时,使用API生成可能真的是无法完成的任务。(大卫亚设)。

新想法

然后可以通过word提供另一种生成pdf的想法。有很多成熟的类库可以将word转换为pdf,基本上可以大大保证生成的pdf和word的性能。那么关键是如何生成word文档。

创建Word

创建Word的方法有多种。通常通过word相关类库的API生成。例如,可以在node下生成officegen、Java的POI、JXL、iText等。与pdf一样,使用API生成word文件也很复杂

剑走偏锋,出奇制胜。

面对这样的问题,我们能找到更简单的方法生产吗?现在来看看刀怎么从刀鞘里出来,直捣敌人要害,用那条路施加另一个身体。(莎士比亚)。

通过修改Word文档的源文件(document.xml)创建word文档

如果先编写word模板文档,然后通过代码修改word文档的必要部分,并将其另存为新的word文档,则在生成word文档时无需注意排版问题。那不是事半功倍。让我们看看该怎么办。大卫亚设(David Assell),Northern Exposure(美国电视新闻)。

Word文档实际上是zip压缩包。例如,如果将re的后缀更改为re,则可以通过提取工具解压缩word文档。解压缩的文件的内容如下:

进入Word目录后,文件内容如下:

箭头指向的document.xml文件是word内容的说明文件,即word内容的说明文件。您可以修改document.xml文件,以便根据word文件的格式生成新的word文件。

以Nodejs代码为例,其他语言代码同样使用ejs模板类库。同样,您可以选择其它模板类库,如Java中的freemarker。将Document.xml转换为ejs模板。

Document.xml的部分内容如下:

红色箭头指向需要动态写昵称的地方,并用模板语言替换。

Ejs范本类别库可让您选取其他范本类别库,例如Java的freemarker。将Document.xml转换为ejs模板。

其他地方同样修改,需要循环输出的地方也是如此。

我们的document.xml已转换为ejs的模板,因此通过ejs控制document.xml的生成,将生成的document.xml复盖word文档解压缩目录报告下的word文件,zip包报告文件夹为re

这样生成的word文档在使用word打开时会显示错误,但单击“修改”可以进入,并且可以修改很多内容。包zip可能会丢失不必要的信息,因此会出现错误。但是没关系。使用zip类库中的API用流写入复盖原始document.xml,这样在打开word后就不会出现错误。合作伙伴可以自行研究zip流写入。

word文档现在已生成。通过重新调用从word到pdf的类库,可以将word转换为pdf。其效果可以完美地展现出来。

这个节目还有一些需要注意的地方。

1.word文档使用较少的定位形状框来指定绝对位置,因此在生成pdf时容易混淆。

2、word文档需要定义较少的个性化样式,因此document.xml文档太大。

向合作伙伴推荐客户端加密密码管理工具

忘记密码、忘记密码、随心所欲地管理数百个密码

好了,结束了。那就附上代码,nodejs的样本代码。

1.《【文件zip格式怎么转word】如何从Nodejs、Java代码优雅地生成word和pdf》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。

2.《【文件zip格式怎么转word】如何从Nodejs、Java代码优雅地生成word和pdf》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/keji/2511199.html