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  }