1
1
package labstack
2
2
3
+ import "strconv"
4
+
3
5
type (
4
6
PDFImageRequest struct {
5
- File string
7
+ File string
8
+ Extract bool
6
9
}
7
10
8
11
PDFImageResponse struct {
9
12
* Download
10
13
}
14
+
15
+ PDFSplitRequest struct {
16
+ File string
17
+ Pages string
18
+ }
19
+
20
+ PDFSplitResponse struct {
21
+ * Download
22
+ }
23
+
24
+ PDFCompressRequest struct {
25
+ File string
26
+ Quality int
27
+ DPI int
28
+ }
29
+
30
+ PDFCompressResponse struct {
31
+ * Download
32
+ Size int64 `json:"size"`
33
+ }
11
34
)
12
35
36
+ func (c * Client ) PDFCompress (req * PDFCompressRequest ) (res * PDFCompressResponse , err * APIError ) {
37
+ res = new (PDFCompressResponse )
38
+ _ , e := c .resty .R ().
39
+ SetFile ("file" , req .File ).
40
+ SetFormData (map [string ]string {
41
+ "quality" : strconv .Itoa (req .Quality ),
42
+ "dpi" : strconv .Itoa (req .DPI ),
43
+ }).
44
+ SetResult (res ).
45
+ SetError (err ).
46
+ Post ("/pdf/compress" )
47
+ if e != nil {
48
+ err = new (APIError )
49
+ err .Message = e .Error ()
50
+ }
51
+ return
52
+ }
53
+
13
54
func (c * Client ) PDFImage (req * PDFImageRequest ) (res * PDFImageResponse , err * APIError ) {
14
55
res = new (PDFImageResponse )
15
56
_ , e := c .resty .R ().
16
57
SetFile ("file" , req .File ).
58
+ SetFormData (map [string ]string {
59
+ "extract" : strconv .FormatBool (req .Extract ),
60
+ }).
17
61
SetResult (res ).
18
62
SetError (err ).
19
63
Post ("/pdf/image" )
@@ -23,3 +67,20 @@ func (c *Client) PDFImage(req *PDFImageRequest) (res *PDFImageResponse, err *API
23
67
}
24
68
return
25
69
}
70
+
71
+ func (c * Client ) PDFSplit (req * PDFSplitRequest ) (res * PDFSplitResponse , err * APIError ) {
72
+ res = new (PDFSplitResponse )
73
+ _ , e := c .resty .R ().
74
+ SetFile ("file" , req .File ).
75
+ SetFormData (map [string ]string {
76
+ "pages" : req .Pages ,
77
+ }).
78
+ SetResult (res ).
79
+ SetError (err ).
80
+ Post ("/pdf/split" )
81
+ if e != nil {
82
+ err = new (APIError )
83
+ err .Message = e .Error ()
84
+ }
85
+ return
86
+ }
0 commit comments