WHtml2png

WHtml2png

(async) new WHtml2png(widthopt, heightopt, scaleopt, htmlopt, optopt) → {Promise}

Description:
  • 呼叫Chromium轉Html為png圖

Source:
Example
async function testa() {

    let html = `
<div style="padding:10px; display:inline-block;">
    <div style="background-color: rgb(255, 255, 255); border-radius: 5px; width: 600px; box-shadow:0 3px 1px -2px rgba(0,0,0,.2), 0 2px 2px 0 rgba(0,0,0,.14), 0 1px 5px 0 rgba(0,0,0,.12);">
        <div style="padding: 20px; border-bottom: 1px solid rgb(221, 221, 221); background-color: rgb(250, 250, 250); border-radius: 5px 5px 0px 0px; display: flex; justify-content: flex-start; align-items: center;">
            <div>
                <div style="font-size: 2rem;">Panel Title</div>
            </div>
        </div>
        <div style="border-radius: 0px;">
            <div style="padding: 20px;">
                Here is a panel content, Morbi mattis ullamcorper velit. Donec orci lectus, aliquam ut, faucibus non, euismod id, nulla. In ut quam vitae odio lacinia tincidunt.
            </div>
        </div>
        <div style="padding: 20px; border-top: 1px solid rgb(221, 221, 221); background-color: rgb(250, 250, 250); border-radius: 0px 0px 5px 5px;">
            Here is a panel footer
        </div>
    </div>
</div>
    `
    let width = 620
    let height = 235
    let scale = 3

    let b64 = await WHtml2png(width, height, scale, html)
    // console.log('b64', b64)

    // fs.writeFileSync('./test-scla.b64', b64, 'utf8')
    fs.writeFileSync('./test-scla.png', b64, { encoding: 'base64' })

    console.log('finish')
}
testa()
    .catch((err) => {
        console.log(err)
    })
Parameters:
Name Type Attributes Default Description
width Number <optional>
700

輸入圖片原始寬度數字,單位px,預設700

height Number <optional>
400

輸入圖片原始高度數字,單位px,預設400

scale Number <optional>
3

輸入欲將圖片放大比例數字,單位px,預設3

html String <optional>
''

輸入HTML字串,預設''

opt Object <optional>
{}

輸入設定物件,預設{}

Properties
Name Type Attributes Default Description
scriptsHead Array <optional>
[]

輸入引用js程式碼網址陣列,預設[]

execJsHead String | Array <optional>
''

輸入插入head內執行js程式碼字串或陣列,預設''

execJsPost String | Array <optional>
''

輸入於dom末插入執行js程式碼字串或陣列,預設''

retry Integer <optional>
3

輸入失敗重試次數整數,預設3

writeError Boolean <optional>
false

輸入是否輸出錯誤訊息至檔案布林值,預設false

Returns:

回傳Promise,resolve為回傳base64圖片,reject為錯誤訊息

Type
Promise