go-wkhtmltopdfを使用してhtmlをpdfに変換
2975 ワード
package main
import (
"fmt"
"github.com/adrg/go-wkhtmltopdf"
"log"
)
func main(){
pdf.Init()
defer pdf.Destroy()
// Create object from url
object1, err := pdf.NewObject("https://www.baidu.com/")
if err != nil {
log.Fatal(err)
}
object1.SetOption("footer.right", "[page]")
// Create converter
converter := pdf.NewConverter()
defer converter.Destroy()
// Add created objects to the converter
converter.AddObject(object1)
// Add converter options
converter.SetOption("documentTitle", "Sample document")
converter.SetOption("margin.left", "10mm")
converter.SetOption("margin.right", "10mm")
converter.SetOption("margin.top", "10mm")
converter.SetOption("margin.bottom", "10mm")
// Convert the objects and get the output PDF document
output, err := converter.Convert()
if err != nil {
log.Fatal(err)
}
fmt.Println(string(output))
}
ダウンロードしてgo run mainを実行します.go新聞:gccコンパイラが見つからない
package pdf
/*
#cgo LDFLAGS: -lwkhtmltox
#include
#include
#include
*/
import "C"
import (
"errors"
"unsafe"
)
type Converter struct {
converter *C.wkhtmltopdf_converter
settings *C.wkhtmltopdf_global_settings
objects []*Object
}
...
再実行:go run main.goはついに成功しました.
/CreationDate (D:20181025170310+08'00')
>>
endobj
3 0 obj
<<
/Type /ExtGState
/SA true
/SM 0.02
/ca 1.0
/CA 1.0
...