@@ -12,6 +12,10 @@ Features
1212
1313` go get -u github.com/ledongthuc/pdf `
1414
15+ ## Examples:
16+
17+ - Check in examples/ folder
18+
1519
1620## Read plain text
1721
@@ -27,60 +31,56 @@ import (
2731
2832func main () {
2933 pdf.DebugOn = true
30- content , err := readPdf (" test.pdf" ) // Read local pdf file
34+
35+ f , r , err := pdf.Open (" ./pdf_test.pdf" )
3136 if err != nil {
3237 panic (err)
3338 }
34- fmt.Println (content)
35- return
36- }
39+ defer f.Close ()
3740
38- func readPdf (path string ) (string , error ) {
39- f , r , err := pdf.Open (path)
40- // remember close file
41- defer f.Close ()
41+ var buf bytes.Buffer
42+ b , err := r.GetPlainText ()
4243 if err != nil {
43- return " " , err
44+ panic ( err)
4445 }
45- var buf bytes.Buffer
46- b , err := r.GetPlainText ()
47- if err != nil {
48- return " " , err
49- }
50- buf.ReadFrom (b)
51- return buf.String (), nil
46+ buf.ReadFrom (b)
47+ content := buf.String ()
48+ fmt.Println (content)
5249}
5350```
5451
5552## Read all text with styles from PDF
5653
5754``` golang
58- func readPdf2 (path string ) (string , error ) {
59- f , r , err := pdf.Open (path)
60- // remember close file
55+ package main
56+
57+ import (
58+ " fmt"
59+
60+ " github.com/ledongthuc/pdf"
61+ )
62+
63+ func main () {
64+ f , r , err := pdf.Open (" ./pdf_test.pdf" )
65+ if err != nil {
66+ panic (err)
67+ }
6168 defer f.Close ()
69+
70+ sentences , err := r.GetStyledTexts ()
6271 if err != nil {
63- return " " , err
72+ panic ( err)
6473 }
65- totalPage := r.NumPage ()
6674
67- for pageIndex := 1 ; pageIndex <= totalPage; pageIndex++ {
68- p := r.Page (pageIndex)
69- if p.V .IsNull () {
70- continue
71- }
72- var lastTextStyle pdf.Text
73- texts := p.Content ().Text
74- for _ , text := range texts {
75- if isSameSentence (text, lastTextStyle) {
76- lastTextStyle.S = lastTextStyle.S + text.S
77- } else {
78- fmt.Printf (" Font: %s , Font-size: %f , x: %f , y: %f , content: %s \n " , lastTextStyle.Font , lastTextStyle.FontSize , lastTextStyle.X , lastTextStyle.Y , lastTextStyle.S )
79- lastTextStyle = text
80- }
81- }
75+ // Print all sentences
76+ for _ , sentence := range sentences {
77+ fmt.Printf (" Font: %s , Font-size: %f , x: %f , y: %f , content: %s \n " ,
78+ sentence.Font ,
79+ sentence.FontSize ,
80+ sentence.X ,
81+ sentence.Y ,
82+ sentence.S )
8283 }
83- return " " , nil
8484}
8585```
8686
0 commit comments