github.com/signintech/pdft@v0.5.0/pdf_test.go (about) 1 package pdft 2 3 import ( 4 "testing" 5 6 gopdf "github.com/signintech/pdft/minigopdf" 7 ) 8 9 func TestPDF(t *testing.T) { 10 pdf(t, "pdf_from_gopdf.pdf") 11 //pdf(t, "pdf_from_docx.pdf") 12 pdf(t, "pdf_from_docx_with_f.pdf") 13 //pdf(t, "pdf_from_iia.pdf") 14 //pdf(t, "pdf_from_delphi.pdf") 15 //pdf(t, "pdf_from_word2010.pdf") 16 //pdf(t, "pdf_from_word2010_b.pdf") 17 //pdf(t, "pdf_from_chrome_50_win10.pdf") 18 //pdf(t, "pdf_from_chrome_50_linux64.pdf") 19 pdf(t, "pdf_from_word2013.pdf") 20 //pdf(t, "pdf_from_word2013_b.pdf") 21 //pdf(t, "pdf_from_rdlc.pdf") 22 } 23 24 func pdf(t *testing.T, filename string) { 25 var ipdf PDFt 26 //err := ipdf.Open("test/pdf/pdf_from_docx_with_f.pdf") 27 err := ipdf.Open("test/pdf/" + filename) 28 //err := ipdf.Open("test/pdf/pdf_from_docx.pdf") 29 if err != nil { 30 t.Error(err) 31 return 32 } 33 34 err = ipdf.AddFont("arial", "test/ttf/angsa.ttf") 35 if err != nil { 36 t.Error(err) 37 return 38 } 39 40 err = ipdf.SetFont("arial", "", 14) 41 if err != nil { 42 t.Error(err) 43 return 44 } 45 46 err = ipdf.Insert("ที่ กั้น", 1, 10, 10, 100, 100, gopdf.Center|gopdf.Bottom, nil) 47 if err != nil { 48 t.Error(err) 49 return 50 } 51 52 ipdf.SetProtection( 53 gopdf.PermissionsPrint|gopdf.PermissionsCopy|gopdf.PermissionsModify, 54 []byte("1234"), 55 []byte("5555"), 56 ) 57 err = ipdf.Save("test/out/" + filename) 58 if err != nil { 59 t.Error(err) 60 return 61 } 62 } 63 64 func TestMeasureTextWidth(t *testing.T) { 65 66 filename := "pdf_from_docx_with_f.pdf" 67 var ipdf PDFt 68 //err := ipdf.Open("test/pdf/pdf_from_docx_with_f.pdf") 69 err := ipdf.Open("test/pdf/" + filename) 70 //err := ipdf.Open("test/pdf/pdf_from_docx.pdf") 71 if err != nil { 72 t.Error(err) 73 return 74 } 75 76 err = ipdf.AddFont("arial", "test/ttf/angsa.ttf") 77 if err != nil { 78 t.Error(err) 79 return 80 } 81 82 err = ipdf.SetFont("arial", "", 14) 83 if err != nil { 84 t.Error(err) 85 return 86 } 87 88 width1, err := ipdf.MeasureTextWidth("การปั้นโต้ง") 89 if err != nil { 90 t.Error(err) 91 return 92 } 93 94 width2, err := ipdf.MeasureTextWidth("การปั้นโต้งการปั้นโต้ง") 95 if err != nil { 96 t.Error(err) 97 return 98 } 99 100 err = ipdf.SetFont("arial", "", 15) 101 if err != nil { 102 t.Error(err) 103 return 104 } 105 106 width3, err := ipdf.MeasureTextWidth("การปั้นโต้ง") 107 if err != nil { 108 t.Error(err) 109 return 110 } 111 112 if width1*2 != width2 { 113 t.Error("width1 * 2 != width2") 114 } 115 116 if width1 == width3 { 117 t.Error("width1 == width3") 118 } 119 120 //gitfmt.Printf("%f %f %f\n", width1, width2, width3) 121 } 122 123 /* 124 func TestSlice(t *testing.T) { 125 src := []byte("ABCDEFGHIJ") 126 dest := src[9:10] 127 fmt.Printf("src=%d dest=%d\n", cap(src), cap(dest)) 128 dest = append(dest, []byte("1234567890123456789012345678901")...) 129 fmt.Println(string(src)) 130 }*/ 131 132 func TestRemoveOtherPages(t *testing.T) { 133 filename := "pdf_from_docx_with_f.pdf" 134 var ipdf PDFt 135 err := ipdf.Open("test/pdf/" + filename) 136 if err != nil { 137 t.Error(err) 138 return 139 } 140 141 err = ipdf.RemoveOtherPages(1) 142 if err != nil { 143 t.Error(err) 144 return 145 } 146 err = ipdf.Save("test/out/RemoveOtherPages_" + filename) 147 if err != nil { 148 t.Error(err) 149 return 150 } 151 }