瀏覽器中把HTML轉(zhuǎn)為PDF的幾種方式
打印
操作步驟
另存為pdf
優(yōu)點(diǎn)
簡(jiǎn)便易用: 瀏覽器自帶的打印功能通常是用戶界面友好的,不需要額外的插件或工具,用戶只需點(diǎn)擊幾下即可完成轉(zhuǎn)換。
跨平臺(tái)支持: 大多數(shù)現(xiàn)代瀏覽器都支持這種方式,而且通常在不同操作系統(tǒng)上表現(xiàn)一致,從而實(shí)現(xiàn)跨平臺(tái)的HTML到PDF的轉(zhuǎn)換。
無(wú)需安裝插件: 由于是瀏覽器自帶功能,不需要用戶安裝任何額外的插件或軟件,減少了使用的復(fù)雜性。
實(shí)時(shí)預(yù)覽: 在打印設(shè)置中,用戶通??梢詫?shí)時(shí)預(yù)覽PDF的生成效果,從而可以進(jìn)行調(diào)整和確認(rèn)。
鏈接可點(diǎn)擊:
缺點(diǎn)
限制樣式和布局: 瀏覽器打印功能轉(zhuǎn)換的PDF可能對(duì)一些特殊樣式和布局支持不夠好,導(dǎo)致最終的PDF與原HTML在外觀上有一些差異。
有限定制選項(xiàng): 瀏覽器自帶的打印功能提供的選項(xiàng)相對(duì)有限,用戶不能太靈活地定制生成的PDF,特定的需求可能無(wú)法滿足。
依賴瀏覽器版本: 不同瀏覽器版本的打印功能可能存在一些差異,用戶需要確保使用的瀏覽器版本支持所需的功能。
性能: 對(duì)于大型或復(fù)雜的HTML頁(yè)面,使用瀏覽器自帶的打印功能可能會(huì)導(dǎo)致性能問(wèn)題,生成PDF的過(guò)程可能較慢。
轉(zhuǎn)換工具 - 離線
比如使用:https://www.html-to-pdf.net/下載下來(lái)找到對(duì)應(yīng)exe文件,點(diǎn)開(kāi)。
操作步驟
復(fù)制url,點(diǎn)擊Convert
按鈕
效果如下:
優(yōu)點(diǎn)
無(wú)瀏覽器限制: 不受瀏覽器版本或類型的限制,因此更穩(wěn)定和可靠。用戶無(wú)需擔(dān)心不同瀏覽器之間的兼容性問(wèn)題。
鏈接可點(diǎn)擊:
缺點(diǎn)
學(xué)習(xí)曲線: 一些工具可能具有更復(fù)雜的界面和更多的設(shè)置選項(xiàng),需要用戶花一些時(shí)間來(lái)學(xué)習(xí)和熟悉操作。
難用,體驗(yàn)查。
在線轉(zhuǎn)換工具
比如:https://avepdf.com/zh/html-to-pdf
優(yōu)點(diǎn)
高度定制: 轉(zhuǎn)換工具通常提供更豐富的選項(xiàng)和定制功能,允許用戶更精確地控制PDF的生成,包括頁(yè)面尺寸、分辨率、壓縮級(jí)別等。
無(wú)瀏覽器限制: 不受瀏覽器版本或類型的限制,因此更穩(wěn)定和可靠。用戶無(wú)需擔(dān)心不同瀏覽器之間的兼容性問(wèn)題。
體驗(yàn)好。
缺點(diǎn)
付費(fèi)服務(wù): 大多數(shù)專業(yè)的HTML到PDF轉(zhuǎn)換工具可能是付費(fèi)的,尤其是對(duì)于一些高級(jí)功能和服務(wù),可能需要訂閱或購(gòu)買許可證。
學(xué)習(xí)曲線: 一些工具可能具有更復(fù)雜的界面和更多的設(shè)置選項(xiàng),需要用戶花一些時(shí)間來(lái)學(xué)習(xí)和熟悉操作。
依賴于服務(wù)可用性: 如果使用在線服務(wù),轉(zhuǎn)換工具的可用性可能受到服務(wù)提供商的影響,如果服務(wù)出現(xiàn)故障或維護(hù),用戶可能暫時(shí)無(wú)法進(jìn)行轉(zhuǎn)換。
可能涉及隱私問(wèn)題: 對(duì)于包含敏感信息的HTML內(nèi)容,使用在線轉(zhuǎn)換服務(wù)可能涉及隱私問(wèn)題,用戶需要確保選擇的服務(wù)提供了適當(dāng)?shù)陌踩胧?/p>
鏈接不能點(diǎn)擊
瀏覽器插件 - 推薦
比如:https://chrome.google.com/webstore/detail/print-edit-we/olnblpmehglpcallpnbgmikjblmkopia/related?hl=zh-CN
使用步驟
右鍵選擇并隱藏或刪除不需要的東西,選中之后點(diǎn)擊hide或delete去刪除不要的東西
點(diǎn)擊Preview查看預(yù)覽
可以看到我選中隱藏的元素看不到了
點(diǎn)擊Save As Pdf按鈕,去保存為PDF,在火狐瀏覽器是有按鈕可以直接轉(zhuǎn)為pdf,在谷歌瀏覽器并沒(méi)有這個(gè)按鈕,可以先點(diǎn)擊預(yù)覽再打印。
看下效果如何,下面是用谷歌瀏覽器的打印方法
優(yōu)點(diǎn)
方便性: 安裝插件后,轉(zhuǎn)換過(guò)程通常是簡(jiǎn)單直觀的,用戶可以通過(guò)瀏覽器直接執(zhí)行操作。
本地轉(zhuǎn)換: 轉(zhuǎn)換過(guò)程在用戶本地進(jìn)行,無(wú)需上傳敏感信息到在線服務(wù),有更好的隱私控制。
自定義選項(xiàng): 一些插件提供豐富的自定義選項(xiàng),用戶可以根據(jù)需要調(diào)整生成的PDF。
缺點(diǎn)
局限性: 插件功能可能受限于瀏覽器的能力,不同瀏覽器插件的功能差異可能較大。
依賴瀏覽器: 用戶需要使用支持插件的瀏覽器進(jìn)行操作,可能不適用于所有平臺(tái)。
性能: 處理大型或復(fù)雜的網(wǎng)頁(yè)可能導(dǎo)致性能問(wèn)題。
JS代碼
比如以下的代碼,在瀏覽器控制臺(tái)執(zhí)行
var script = document.createElement('script');
script.src = "https://rawgit.com/eKoopmans/html2pdf/master/dist/html2pdf.bundle.js";
// 設(shè)置 onload 事件處理程序
script.onload = function() {
// 腳本加載完成后執(zhí)行以下代碼
// 獲取要轉(zhuǎn)換為 PDF 的 HTML 元素 (使用 XPath)
const elementXPath = "http://div[@class='column is-auto padding-none padding-sm-tablet position-relative-tablet']"; // 替換為你的 XPath 表達(dá)式
const element = document.evaluate(elementXPath, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
// 設(shè)置自定義的 PDF 名稱
const pdfOptions = {
filename: '剛剛下載的pdf文件名.pdf', // 替換為你的自定義名稱
};
// 使用 html2pdf 將 HTML 元素轉(zhuǎn)換為 PDF
html2pdf(element, pdfOptions);
// 將 referrerPolicy 設(shè)置回 origin
script.referrerPolicy = 'origin';
};
// 設(shè)置初始 referrerPolicy 為 no-referrer
script.referrerPolicy = 'no-referrer';
document.getElementsByTagName('head')[0].appendChild(script);
優(yōu)點(diǎn)
自定義性: 通過(guò)代碼實(shí)現(xiàn),你可以更靈活地自定義轉(zhuǎn)換過(guò)程,包括選擇要轉(zhuǎn)換的元素、設(shè)置PDF選項(xiàng)等。
獨(dú)立性: 不依賴于特定的瀏覽器插件或平臺(tái),適用于各種環(huán)境和應(yīng)用場(chǎng)景。
集成性: 可以輕松集成到Web應(yīng)用程序中,通過(guò)腳本控制轉(zhuǎn)換過(guò)程。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-800052.html
缺點(diǎn)
開(kāi)發(fā)復(fù)雜性: 實(shí)現(xiàn)HTML轉(zhuǎn)PDF的代碼可能相對(duì)復(fù)雜,特別是對(duì)于處理復(fù)雜頁(yè)面、樣式和布局的情況。
性能問(wèn)題: 處理大型或復(fù)雜的HTML頁(yè)面可能導(dǎo)致性能問(wèn)題,尤其是在客戶端設(shè)備上。
維護(hù)問(wèn)題: 需要定期更新和維護(hù)代碼以適應(yīng)可能發(fā)生的瀏覽器變化和新技術(shù)。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-800052.html
到了這里,關(guān)于瀏覽器中把HTML轉(zhuǎn)為PDF的幾種方式的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!