2013-02-17 37 views
17

Cách tạo tệp PDF từ đầu vào HTML trong Google Go? Nếu nó không thể được nêu ra, có bất kỳ initations nhằm mục đích để giải quyết vấn đề này?Tạo pdf từ html trong golang

Tôi đang tìm một giải pháp như TCPDF trong php.

+0

https://github.com/SebastiaanKlippert/go-wkhtmltopdf thấy liên kết này – muthukumar

Trả lời

12

gì về gopdf (https://github.com/signintech/gopdf) hoặc gofpdf (http://godoc.org/code.google.com/p/gofpdf).

Có vẻ như bạn đang tìm kiếm.

+1

Cả hai thư viện này đều không giải quyết được câu hỏi. Người dùng đang tìm kiếm HTML sang PDF. Đây chỉ là máy phát PDF. Mặc dù chúng có thể là những quảng cáo tốt, nhưng không chuyển đổi tài liệu HTML thành PDF. Tôi cần hỏi cùng một câu hỏi này trong một chủ đề riêng biệt. – taystack

+0

Cả hai Phụ thuộc trên sẽ không hoạt động đối với ' tới .pdf' – muthukumar

3

Tôi không nghĩ rằng tôi hiểu yêu cầu của bạn. Vì HTML là một ngôn ngữ đánh dấu, nó cần bối cảnh để hiển thị (CSS và kích thước màn hình). Triển khai hiện tại tôi đã nhìn thấy thường mở trang trong trình duyệt không đầu và tạo PDF theo cách đó.

Cá nhân, tôi sẽ chỉ sử dụng gói hiện có và thoát khỏi Go. This one có vẻ tốt; nó thậm chí còn được đề xuất trong this answer.

Nếu bạn thực sự quyết tâm triển khai tất cả trong Go, hãy xem this WebKit wrapper. Tôi không chắc chắn những gì bạn sẽ sử dụng để tạo PDF, nhưng ít nhất đó là một sự khởi đầu.

+0

Tôi không có quá nhiều yêu cầu đặc biệt. Tôi cần phải tạo các tập tin pdf, nhưng tốt hơn là không phải từ mã đi, nhưng từ một nguồn đó là một sự thỏa hiệp tốt giữa tính linh hoạt và dễ học. Trong php, có nhiều thư viện để chuyển đổi tài liệu HTML thành pdf, vì HTML rất dễ học và khá linh hoạt. Tôi đã tò mò nếu ai đó đã viết một thư viện như thế. Cảm ơn bạn vì câu trả lời. – mimrock

3

Ngoài ra còn có gói này wkhtmltopdf-go, sử dụng thư viện libwkhtmltox. Tôi không chắc chắn nó ổn định như thế nào.

+0

Nó khá khủng khiếp tiếp tục hogging CPU của tôi với các quá trình zombie. –

0

Tùy chọn khác là Athena. Nó có một microservice được viết bằng Go hoặc nó có thể được sử dụng như một CLI.

1

Lắp đặt

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

go version go1.9.2 linux/amd64

đang

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") 
     } 

Mã Trên Làm việc cho chuyển đổi html sang pdf trong golang với hình nền thích hợp và nhúng Css Phong cách Thẻ

Check repo

See Pull request Documentation Improved