-
Notifications
You must be signed in to change notification settings - Fork 1
/
examples_test.go
109 lines (87 loc) · 2.59 KB
/
examples_test.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
package orcgen_test
import (
"fmt"
"os"
"path/filepath"
"runtime"
"time"
"github.com/luabagg/orcgen"
)
// ExampleNew gives examples using the New function from orcgen.
func ExampleNew() {
// starts the connection.
gen := orcgen.New(orcgen.PDF)
defer gen.Close()
/* using for HTML conversion */
// this generates a pdf file with the HTML content.
f, _ := gen.ConvertHTML(getHTML())
filename := "html.pdf"
if err := f.Output(getName(filename)); err == nil {
fmt.Printf("%s generated succesfully\n", filename)
}
// this generates a png file with the HTML content.
// notice the SetFullPage use here.
f, _ = gen.SetExt(orcgen.PNG).
SetFullPage(true).
ConvertHTML(getHTML())
filename = "html.png"
if err := f.Output(getName(filename)); err == nil {
fmt.Printf("%s generated succesfully\n", filename)
}
/* using for URL conversion */
// this generates a pdf file from www.google.com.
f, _ = gen.SetExt(orcgen.PDF).
ConvertWebpage("https://www.google.com")
filename = "google.pdf"
if err := f.Output(getName(filename)); err == nil {
fmt.Printf("%s generated succesfully\n", filename)
}
// this generates a jpeg file from www.twitter.com.
// full config example.
f, _ = gen.SetExt(orcgen.JPEG).
SetFullPage(true).
SetLoadTimeout(5 * time.Second).
SetPageIdleTime(3 * time.Second).
ConvertWebpage("https://www.twitter.com")
filename = "twitter.jpeg"
if err := f.Output(getName(filename)); err == nil {
fmt.Printf("%s generated succesfully\n", filename)
}
// Output:
// html.pdf generated succesfully
// html.png generated succesfully
// google.pdf generated succesfully
// twitter.jpeg generated succesfully
}
// ExampleConvertWebpage gives examples using the ConvertWebpage function from
func ExampleConvertWebpage() {
filename := "github.pdf"
err := orcgen.ConvertWebpage(orcgen.PDF, "https://www.github.com", getName(filename))
if err == nil {
fmt.Printf("%s generated succesfully\n", filename)
}
// Output:
// github.pdf generated succesfully
}
// ExampleConvertHTML gives examples using the ConvertHTML function from
func ExampleConvertHTML() {
filename := "html.pdf"
err := orcgen.ConvertHTML(orcgen.PDF, getHTML(), getName(filename))
if err == nil {
fmt.Printf("%s generated succesfully\n", filename)
}
// Output:
// html.pdf generated succesfully
}
func getHTML() []byte {
file := filepath.Join(getBasepath(), "testdata/test.html")
html, _ := os.ReadFile(file)
return html
}
func getName(name string) string {
return filepath.Join(getBasepath(), "testdata", name)
}
func getBasepath() string {
_, b, _, _ := runtime.Caller(0)
return filepath.Dir(b)
}