github.com/signintech/pdft@v0.5.0/minigopdf/gopdf_test.go (about) 1 package gopdf 2 3 import ( 4 "io/ioutil" 5 "log" 6 "os" 7 "testing" 8 ) 9 10 func BenchmarkPdfWithImageHolder(b *testing.B) { 11 12 err := initTesting() 13 if err != nil { 14 b.Error(err) 15 return 16 } 17 18 pdf := GoPdf{} 19 pdf.Start(Config{PageSize: Rect{W: 595.28, H: 841.89}}) //595.28, 841.89 = A4 20 pdf.AddPage() 21 err = pdf.AddTTFFont("loma", "./test/res/times.ttf") 22 if err != nil { 23 b.Error(err) 24 return 25 } 26 27 err = pdf.SetFont("loma", "", 14) 28 if err != nil { 29 log.Print(err.Error()) 30 return 31 } 32 33 bytesOfImg, err := ioutil.ReadFile("./test/res/chilli.jpg") 34 if err != nil { 35 b.Error(err) 36 return 37 } 38 39 imgH, err := ImageHolderByBytes(bytesOfImg) 40 if err != nil { 41 b.Error(err) 42 return 43 } 44 for i := 0; i < b.N; i++ { 45 pdf.ImageByHolder(imgH, 20.0, float64(i)*2.0, nil) 46 } 47 48 pdf.SetX(250) 49 pdf.SetY(200) 50 pdf.Cell(nil, "gopher and gopher") 51 52 pdf.WritePdf("./test/out/image_bench.pdf") 53 } 54 55 func initTesting() error { 56 err := os.MkdirAll("./test/out", 0777) 57 if err != nil { 58 return err 59 } 60 return nil 61 } 62 63 func _TestPdfWithImageHolder(t *testing.T) { 64 err := initTesting() 65 if err != nil { 66 t.Error(err) 67 return 68 } 69 70 pdf := GoPdf{} 71 pdf.Start(Config{PageSize: Rect{W: 595.28, H: 841.89}}) //595.28, 841.89 = A4 72 pdf.AddPage() 73 err = pdf.AddTTFFont("loma", "./test/res/times.ttf") 74 if err != nil { 75 t.Error(err) 76 return 77 } 78 79 err = pdf.SetFont("loma", "", 14) 80 if err != nil { 81 log.Print(err.Error()) 82 return 83 } 84 85 bytesOfImg, err := ioutil.ReadFile("./test/res/gopher02.png") 86 if err != nil { 87 t.Error(err) 88 return 89 } 90 91 imgH, err := ImageHolderByBytes(bytesOfImg) 92 if err != nil { 93 t.Error(err) 94 return 95 } 96 97 err = pdf.ImageByHolder(imgH, 20.0, 20, nil) 98 if err != nil { 99 t.Error(err) 100 return 101 } 102 103 err = pdf.ImageByHolder(imgH, 20.0, 200, nil) 104 if err != nil { 105 t.Error(err) 106 return 107 } 108 109 pdf.SetX(250) 110 pdf.SetY(200) 111 pdf.Cell(nil, "gopher and gopher") 112 113 pdf.WritePdf("./test/out/image_test.pdf") 114 } 115 116 /* 117 func TestBuffer(t *testing.T) { 118 b := bytes.NewReader([]byte("ssssssss")) 119 120 b1, err := ioutil.ReadAll(b) 121 if err != nil { 122 t.Error(err) 123 return 124 } 125 fmt.Printf("->%s\n", string(b1)) 126 b.Seek(0, 0) 127 b2, err := ioutil.ReadAll(b) 128 if err != nil { 129 t.Error(err) 130 return 131 } 132 133 fmt.Printf("+>%s\n", string(b2)) 134 }*/