寫(xiě)代碼時(shí),可能需要生成pdf。嘗試很多方法可以做更多的事。一般來(lái)說(shuō),我們的方法如下。

1.老師將html轉(zhuǎn)換為html,并通過(guò)相關(guān)庫(kù)將html轉(zhuǎn)換為pdf,轉(zhuǎn)換后的pdf實(shí)際上與html的表達(dá)有很大差異,無(wú)法分頁(yè)。例如,主頁(yè)通常是單獨(dú)的封面,但通過(guò)html生成,因此很難控制主頁(yè)獨(dú)立。大多數(shù)情況下,第二頁(yè)的內(nèi)容在主頁(yè)上生成,可以大大減少體驗(yàn)。

2.使用pdf生成類(lèi)庫(kù)的API生成??梢栽趐df頁(yè)面簡(jiǎn)單時(shí)處理。在復(fù)雜的情況下,例如生成復(fù)雜的報(bào)告,這個(gè)報(bào)告可以長(zhǎng)達(dá)數(shù)十頁(yè)。當(dāng)結(jié)構(gòu)項(xiàng)目很多時(shí),使用API生成可能真的是無(wú)法完成的任務(wù)。(大衛(wèi)亞設(shè))。

新想法

然后可以通過(guò)word提供另一種生成pdf的想法。有很多成熟的類(lèi)庫(kù)可以將word轉(zhuǎn)換為pdf,基本上可以大大保證生成的pdf和word的性能。那么關(guān)鍵是如何生成word文檔。

創(chuàng)建Word

創(chuàng)建Word的方法有多種。通常通過(guò)word相關(guān)類(lèi)庫(kù)的API生成。例如,可以在node下生成officegen、Java的POI、JXL、iText等。與pdf一樣,使用API生成word文件也很復(fù)雜

劍走偏鋒,出奇制勝。

面對(duì)這樣的問(wèn)題,我們能找到更簡(jiǎn)單的方法生產(chǎn)嗎?現(xiàn)在來(lái)看看刀怎么從刀鞘里出來(lái),直搗敵人要害,用那條路施加另一個(gè)身體。(莎士比亞)。

通過(guò)修改Word文檔的源文件(document.xml)創(chuàng)建word文檔

如果先編寫(xiě)word模板文檔,然后通過(guò)代碼修改word文檔的必要部分,并將其另存為新的word文檔,則在生成word文檔時(shí)無(wú)需注意排版問(wèn)題。那不是事半功倍。讓我們看看該怎么辦。大衛(wèi)亞設(shè)(David Assell),Northern Exposure(美國(guó)電視新聞)。

Word文檔實(shí)際上是zip壓縮包。例如,如果將re的后綴更改為re,則可以通過(guò)提取工具解壓縮word文檔。解壓縮的文件的內(nèi)容如下:

進(jìn)入Word目錄后,文件內(nèi)容如下:

箭頭指向的document.xml文件是word內(nèi)容的說(shuō)明文件,即word內(nèi)容的說(shuō)明文件。您可以修改document.xml文件,以便根據(jù)word文件的格式生成新的word文件。

以Nodejs代碼為例,其他語(yǔ)言代碼同樣使用ejs模板類(lèi)庫(kù)。同樣,您可以選擇其它模板類(lèi)庫(kù),如Java中的freemarker。將Document.xml轉(zhuǎn)換為ejs模板。

Document.xml的部分內(nèi)容如下:

紅色箭頭指向需要?jiǎng)討B(tài)寫(xiě)昵稱(chēng)的地方,并用模板語(yǔ)言替換。

Ejs范本類(lèi)別庫(kù)可讓您選取其他范本類(lèi)別庫(kù),例如Java的freemarker。將Document.xml轉(zhuǎn)換為ejs模板。

其他地方同樣修改,需要循環(huán)輸出的地方也是如此。

我們的document.xml已轉(zhuǎn)換為ejs的模板,因此通過(guò)ejs控制document.xml的生成,將生成的document.xml復(fù)蓋word文檔解壓縮目錄報(bào)告下的word文件,zip包報(bào)告文件夾為re

這樣生成的word文檔在使用word打開(kāi)時(shí)會(huì)顯示錯(cuò)誤,但單擊“修改”可以進(jìn)入,并且可以修改很多內(nèi)容。包zip可能會(huì)丟失不必要的信息,因此會(huì)出現(xiàn)錯(cuò)誤。但是沒(méi)關(guān)系。使用zip類(lèi)庫(kù)中的API用流寫(xiě)入復(fù)蓋原始document.xml,這樣在打開(kāi)word后就不會(huì)出現(xiàn)錯(cuò)誤。合作伙伴可以自行研究zip流寫(xiě)入。

word文檔現(xiàn)在已生成。通過(guò)重新調(diào)用從word到pdf的類(lèi)庫(kù),可以將word轉(zhuǎn)換為pdf。其效果可以完美地展現(xiàn)出來(lái)。

這個(gè)節(jié)目還有一些需要注意的地方。

1.word文檔使用較少的定位形狀框來(lái)指定絕對(duì)位置,因此在生成pdf時(shí)容易混淆。

2、word文檔需要定義較少的個(gè)性化樣式,因此document.xml文檔太大。

向合作伙伴推薦客戶(hù)端加密密碼管理工具

忘記密碼、忘記密碼、隨心所欲地管理數(shù)百個(gè)密碼

好了,結(jié)束了。那就附上代碼,nodejs的樣本代碼。

1.《【文件zip格式怎么轉(zhuǎn)word】如何從Nodejs、Java代碼優(yōu)雅地生成word和pdf》援引自互聯(lián)網(wǎng),旨在傳遞更多網(wǎng)絡(luò)信息知識(shí),僅代表作者本人觀點(diǎn),與本網(wǎng)站無(wú)關(guān),侵刪請(qǐng)聯(lián)系頁(yè)腳下方聯(lián)系方式。

2.《【文件zip格式怎么轉(zhuǎn)word】如何從Nodejs、Java代碼優(yōu)雅地生成word和pdf》僅供讀者參考,本網(wǎng)站未對(duì)該內(nèi)容進(jìn)行證實(shí),對(duì)其原創(chuàng)性、真實(shí)性、完整性、及時(shí)性不作任何保證。

3.文章轉(zhuǎn)載時(shí)請(qǐng)保留本站內(nèi)容來(lái)源地址,http://f99ss.com/keji/2511199.html