最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

js將html頁(yè)面轉(zhuǎn)為pdf兩種方法

 更新時(shí)間:2023年08月28日 10:02:16   作者:low?sapkj  
最近遇到的需求,把html轉(zhuǎn)成pdf文件下載導(dǎo)出,下面這篇文章主要給大家介紹了關(guān)于js將html頁(yè)面轉(zhuǎn)為pdf的兩種方法,文中給出了詳細(xì)的代碼示例,需要的朋友可以參考下

js將html頁(yè)面轉(zhuǎn)為pdf兩種方法

在 JavaScript 中,可以使用以下兩種方法將 HTML 頁(yè)面轉(zhuǎn)換為 PDF 文件:

  • 使用第三方庫(kù),如 jsPDF 或 html2canvas。

  • 使用瀏覽器的內(nèi)置功能,如 window.print() 方法,可以將 HTML 頁(yè)面轉(zhuǎn)換為 PDF 文件。

下面是使用 jsPDF 的例子:

// 引入 jsPDF 庫(kù)
import jsPDF from 'jspdf';
// 創(chuàng)建一個(gè)新的 jsPDF 實(shí)例
const pdf = new jsPDF();
// 設(shè)置文檔的頁(yè)面大小為 A4 紙張
pdf.setProperties({
  title: 'HTML to PDF',
  subject: 'Generated PDF file using jsPDF library',
  author: 'Your Name',
  keywords: 'html, pdf, javascript',
  creator: 'Your Name'
});
// 使用 html2canvas 庫(kù)將 HTML 頁(yè)面轉(zhuǎn)換為 canvas 元素
html2canvas(document.querySelector('#html-to-pdf')).then(canvas => {
  // 將 canvas 元素轉(zhuǎn)換為圖像數(shù)據(jù)
  const imgData = canvas.toDataURL('image/png');
  // 將圖像數(shù)據(jù)添加到 PDF 文檔中
  pdf.addImage(imgData, 'PNG', 0, 0);
  // 下載 PDF 文件
  pdf.save('html-to-pdf.pdf');
});

使用 window.print() 方法的例子:

// 在點(diǎn)擊按鈕時(shí)觸發(fā)打印功能
document.querySelector('#btn-print').addEventListener('click', () => {
  window.print();
});

在瀏覽器中,你可以使用快捷鍵 Ctrl + P 或在瀏覽器菜單中點(diǎn)擊“打印”來(lái)打開(kāi)瀏覽器的打印對(duì)話框,然后選擇“保存為 PDF”即可將當(dāng)前頁(yè)面保存為 PDF 文件。

附:js實(shí)現(xiàn)html轉(zhuǎn)pdf并下載

要實(shí)現(xiàn)將 HTML 轉(zhuǎn)換為 PDF 并下載需要使用 jsPDF 和 html2canvas 庫(kù)。 以下是一個(gè)示例代碼,它將 HTML 元素(id為content)轉(zhuǎn)換為 PDF 并下載:

<!-- html -->
<div id="content">
  <h1>Hello, World!</h1>
  <p>This is a test page.</p>
  <ul>
    <li>Item 1</li>
    <li>Item 2</li>
    <li>Item 3</li>
  </ul>
</div>
<button onclick="generatePDF()">Download PDF</button>
// javascript
function generatePDF() {
  // 獲取要轉(zhuǎn)換為 PDF 的 HTML 元素
  const element = document.getElementById("content");
  // 使用html2canvas將 HTML 元素轉(zhuǎn)換為 Canvas
  html2canvas(element).then(canvas => {
    // 獲取Canvas的圖像數(shù)據(jù)
    const imgData = canvas.toDataURL('image/png');
    // 創(chuàng)建一個(gè)新的 jsPDF 實(shí)例
    const pdf = new jsPDF();
    // 將Canvas轉(zhuǎn)換為PDF
    pdf.addImage(imgData, 'PNG', 0, 0);
    // 下載PDF文件
    pdf.save("test.pdf");
  });
}

以上代碼會(huì)在按鈕被點(diǎn)擊時(shí)觸發(fā),將 HTML 元素轉(zhuǎn)換為 Canvas,然后將 Canvas 轉(zhuǎn)換為 PDF 并下載。

總結(jié)

到此這篇關(guān)于js將html頁(yè)面轉(zhuǎn)為pdf兩種方法的文章就介紹到這了,更多相關(guān)js html頁(yè)面轉(zhuǎn)pdf內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • JS 實(shí)現(xiàn)圖片直接下載示例代碼

    JS 實(shí)現(xiàn)圖片直接下載示例代碼

    本文為大家詳細(xì)介紹下使用JS實(shí)現(xiàn)圖片直接下載,具體實(shí)現(xiàn)代碼如下,感興趣的朋友可以參考下哈,希望對(duì)大家有所幫助
    2013-07-07
  • 利用JavaScript如何查詢(xún)某個(gè)值是否數(shù)組內(nèi)

    利用JavaScript如何查詢(xún)某個(gè)值是否數(shù)組內(nèi)

    這篇文章主要給大家介紹了關(guān)于利用JavaScript如何查詢(xún)某個(gè)值是否數(shù)組內(nèi)的相關(guān)資料,文中通過(guò)示例代碼分別介紹了實(shí)現(xiàn)該問(wèn)題的一些解決方法是否可行,需要的朋友可以參考借鑒,下面跟著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-07-07
  • 原生js實(shí)現(xiàn)簡(jiǎn)單的焦點(diǎn)圖效果實(shí)例

    原生js實(shí)現(xiàn)簡(jiǎn)單的焦點(diǎn)圖效果實(shí)例

    下面小編就為大家分享一篇原生js實(shí)現(xiàn)簡(jiǎn)單的焦點(diǎn)圖效果實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2017-12-12
  • js實(shí)現(xiàn)左側(cè)網(wǎng)頁(yè)tab滑動(dòng)門(mén)效果代碼

    js實(shí)現(xiàn)左側(cè)網(wǎng)頁(yè)tab滑動(dòng)門(mén)效果代碼

    這篇文章主要介紹了js實(shí)現(xiàn)左側(cè)網(wǎng)頁(yè)tab滑動(dòng)門(mén)效果代碼,涉及JavaScript頁(yè)面元素的遍歷及元素屬性動(dòng)態(tài)切換的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-09-09
  • 使用?TypeScript?開(kāi)發(fā)?React?函數(shù)式組件

    使用?TypeScript?開(kāi)發(fā)?React?函數(shù)式組件

    這篇文章主要介紹了使用?TypeScript開(kāi)發(fā)React函數(shù)式組件,文章通過(guò)圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,感興趣的小伙伴可以參考一下
    2022-08-08
  • 解決JavaScript中0.1+0.2不等于0.3問(wèn)題

    解決JavaScript中0.1+0.2不等于0.3問(wèn)題

    這篇文章主要介紹了解決JavaScript中0.1+0.2不等于0.3問(wèn)題,需要的朋友可以參考下
    2018-10-10
  • 在JavaScript中使用for循環(huán)的方法詳解

    在JavaScript中使用for循環(huán)的方法詳解

    在本文中,我們將學(xué)習(xí) JavaScript 中提供,的 for 循環(huán),我們將了解如何在 JavaScript 中使用 for...in 循環(huán)語(yǔ)句、其語(yǔ)法、工作原理示例、何時(shí)使用或避免使用它以及我們可以使用哪些其他類(lèi)型的循環(huán),需要的朋友可以參考下
    2023-07-07
  • 基于JS設(shè)計(jì)12306登錄頁(yè)面

    基于JS設(shè)計(jì)12306登錄頁(yè)面

    本文給大家分享一段js代碼實(shí)現(xiàn)12306登錄界面,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下
    2016-12-12
  • 原生JavaScript實(shí)現(xiàn)滾動(dòng)條效果

    原生JavaScript實(shí)現(xiàn)滾動(dòng)條效果

    這篇文章主要介紹了原生JavaScript實(shí)現(xiàn)滾動(dòng)條效果的相關(guān)資料,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-01-01
  • 淺談Layui的eleTree樹(shù)式選擇器使用方法

    淺談Layui的eleTree樹(shù)式選擇器使用方法

    今天小編就為大家分享一篇淺談Layui的eleTree樹(shù)式選擇器使用方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-09-09

最新評(píng)論

西安市| 大庆市| 桂东县| 延庆县| 敦化市| 景谷| 锡林郭勒盟| 邻水| 汪清县| 桑植县| 赞皇县| 佳木斯市| 安陆市| 象州县| 军事| 五大连池市| 怀化市| 遂平县| 东安县| 嘉祥县| 西平县| 崇仁县| 崇义县| 龙泉市| 新昌县| 淮安市| 乌兰浩特市| 延边| 长子县| 射洪县| 璧山县| 安阳县| 广灵县| 巴中市| 金山区| 广河县| 琼结县| 遂宁市| 瑞安市| 舟曲县| 南川市|