Подтвердить что ты не робот

Создать pdf файл из html в golang

Как создать PDF файлы с HTML-входа в Google Go? Если это еще не возможно, есть ли какие-либо инициативы, направленные на решение этой проблемы?

Я ищу решение, такое как TCPDF в php.

4b9b3361

Ответ 2

Я не думаю, что понимаю ваши требования. Поскольку HTML является языком разметки, ему нужен контекст для рендеринга (CSS и размер экрана). Существующие реализации, которые я видел, обычно открывают страницу в браузере без браузера и создают PDF таким образом.

Лично я бы просто использовал существующий пакет и оболочку из Go. Этот выглядит хорошо; он даже рекомендовал в этом ответе.

Если вы действительно настроены реализовать все это в Go, посмотрите эту оболочку WebKit. Я не уверен, что вы будете использовать для создания PDF файлов, но, по крайней мере, это начало.

Ответ 3

Существует также этот пакет wkhtmltopdf-go, который использует библиотеку libwkhtmltox. Я не уверен, насколько он стабилен.

Ответ 4

Монтаж

go get -u github.com/SebastiaanKlippert/go-wkhtmltopdf

go version go1.9.2 linux/amd64

код

   import (
        "fmt"
        "strings"
        wkhtml "github.com/SebastiaanKlippert/go-wkhtmltopdf"
    )  

      func main(){
                 pdfg, err :=  wkhtml.NewPDFGenerator()
               if err != nil{
                  return
              }
              htmlStr := '<html><body><h1 style="color:red;">This is an html
 from pdf to test color<h1><img src="http://api.qrserver.com/v1/create-qr-
code/?data=HelloWorld" alt="img" height="42" width="42"></img></body></html>'

              pdfg.AddPage(wkhtml.NewPageReader(strings.NewReader(htmlStr)))


              // Create PDF document in internal buffer
              err = pdfg.Create()
              if err != nil {
                  log.Fatal(err)
              }

               //Your Pdf Name
               err = pdfg.WriteFile("./Your_pdfname.pdf")
              if err != nil {
                  log.Fatal(err)
              }

              fmt.Println("Done")
        }

Вышеприведенный код работает для преобразования html в pdf в golang с соответствующим фоновым изображением и встроенными тегами стиля Css

Проверьте репо

См. Запрос на извлечение документов Улучшена документация

Ответ 5

Я создаю альтернативную библиотеку для более простого создания PDF файлов (https://github.com/johnfercher/maroto). Он использует gofpdf и имеет систему сетки и некоторые компоненты, такие как Bootstrap.

Ответ 6

Другой вариант Athena. Он имеет микросервис, написанный на Go, или его можно использовать как CLI.

Ответ 7

Вы можете попробовать Готенберг. Он отлично работает для меня.