Как создать PDF файлы с HTML-входа в Google Go? Если это еще не возможно, есть ли какие-либо инициативы, направленные на решение этой проблемы?
Я ищу решение, такое как TCPDF в php.
Как создать PDF файлы с HTML-входа в Google Go? Если это еще не возможно, есть ли какие-либо инициативы, направленные на решение этой проблемы?
Я ищу решение, такое как TCPDF в php.
как насчет gopdf (https://github.com/signintech/gopdf) или gofpdf (http://godoc.org/code.google.com/p/gofpdf).
Кажется, что вы ищете.
Я не думаю, что понимаю ваши требования. Поскольку HTML является языком разметки, ему нужен контекст для рендеринга (CSS и размер экрана). Существующие реализации, которые я видел, обычно открывают страницу в браузере без браузера и создают PDF таким образом.
Лично я бы просто использовал существующий пакет и оболочку из Go. Этот выглядит хорошо; он даже рекомендовал в этом ответе.
Если вы действительно настроены реализовать все это в Go, посмотрите эту оболочку WebKit. Я не уверен, что вы будете использовать для создания PDF файлов, но, по крайней мере, это начало.
Существует также этот пакет wkhtmltopdf-go, который использует библиотеку libwkhtmltox. Я не уверен, насколько он стабилен.
Монтаж
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
Я создаю альтернативную библиотеку для более простого создания PDF файлов (https://github.com/johnfercher/maroto). Он использует gofpdf и имеет систему сетки и некоторые компоненты, такие как Bootstrap.
Другой вариант Athena. Он имеет микросервис, написанный на Go, или его можно использовать как CLI.
Вы можете попробовать Готенберг. Он отлично работает для меня.