首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >chromedp :如何从模板HTML字符串而不是URL创建屏幕截图和pdf?

chromedp :如何从模板HTML字符串而不是URL创建屏幕截图和pdf?
EN

Stack Overflow用户
提问于 2021-05-28 06:26:12
回答 1查看 920关注 0票数 1

是否有可能从HTML模板生成PDF/屏幕截图,而不是在chrome库中生成URL

代码语言:javascript
运行
复制
func printToPDF(urlstr string, res *[]byte) chromedp.Tasks {
    return chromedp.Tasks{
        chromedp.Navigate(urlstr),
        //page.SetDocumentContent("body", "<h1>Hello world</h1>"), Something like this is this possible?
        chromedp.ActionFunc(func(ctx context.Context) error {
            buf, _, err := page.PrintToPDF().WithPrintBackground(false).Do(ctx)
            if err != nil {
                return err
            }
            *res = buf
            return nil
        }),
    }
}

指向库的链接:https://github.com/chromedp/chromedp

EN

Stack Overflow用户

发布于 2022-05-18 06:18:36

https://github.com/chromedp/chromedp/issues/836#issuecomment-850244316复制的答案

代码语言:javascript
运行
复制
package main

import (
    "context"
    "io/ioutil"
    "log"

    "github.com/chromedp/cdproto/page"
    "github.com/chromedp/chromedp"
)

func main() {
    ctx, cancel := chromedp.NewContext(context.Background())
    defer cancel()

    // construct your html
    html := "<html><body>test</body></html>"
    if err := chromedp.Run(ctx,
        chromedp.Navigate("about:blank"),
        chromedp.ActionFunc(func(ctx context.Context) error {
            frameTree, err := page.GetFrameTree().Do(ctx)
            if err != nil {
                return err
            }

            return page.SetDocumentContent(frameTree.Frame.ID, html).Do(ctx)
        }),
        chromedp.ActionFunc(func(ctx context.Context) error {
            buf, _, err := page.PrintToPDF().WithPrintBackground(false).Do(ctx)
            if err != nil {
                return err
            }
            return ioutil.WriteFile("sample.pdf", buf, 0644)
        }),
    ); err != nil {
        log.Fatal(err)
    }
}
票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67733845

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档