file.go 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. package common
  2. import (
  3. "encoding/json"
  4. "github.com/go-rod/rod/lib/utils"
  5. "os"
  6. "strings"
  7. )
  8. // GetCollectPDFPath 生成一个采集用的pdf路径
  9. func GetCollectPDFPath(district, taxNo, taxTape string) (string, error) {
  10. var err error
  11. var path string
  12. path = "./data/collection/" + district + "/"
  13. if !PathExists(path) {
  14. err = os.MkdirAll(path, os.ModePerm)
  15. }
  16. path = path + taxNo + "_" + taxTape + ".pdf"
  17. return path, err
  18. }
  19. // PDFtoStrArrayPython pdf转二维数组 python服务
  20. func PDFtoStrArrayPython(path string) ([][]string, error) {
  21. var code [][]string
  22. files := map[string]string{
  23. "file": path,
  24. }
  25. var bys []byte
  26. var err error
  27. pdfServers := []string{
  28. `http://47.104.75.113:6000/pdfToText`,
  29. `http://47.104.75.113:6000/pdfToText`,
  30. }
  31. for _, uri := range pdfServers {
  32. bys, err = PostFile(uri, files, map[string]string{})
  33. if err != nil {
  34. utils.Sleep(10)
  35. continue
  36. }
  37. break
  38. }
  39. if err != nil {
  40. return code, err
  41. }
  42. json.Unmarshal(bys, &code)
  43. return code, nil
  44. }
  45. // UploadPdfToStrArray java PDF转数组
  46. func UploadPdfToStrArray(path string) ([]string, error) {
  47. f := 0
  48. begin:
  49. url := "http://47.104.75.113:8080/api/uploadPdfToText" //灵信服务器
  50. files := map[string]string{
  51. "file": path,
  52. }
  53. resp, err := PostFile(url, files, map[string]string{})
  54. arr := []string{}
  55. if err != nil {
  56. if f < 3 {
  57. f++
  58. utils.Sleep(10)
  59. goto begin
  60. }
  61. return arr, err
  62. }
  63. type resut struct {
  64. Text string `json:"text"`
  65. }
  66. var Result resut
  67. if err := json.Unmarshal(resp, &Result); err != nil {
  68. return arr, err
  69. }
  70. arr = strings.Split(Result.Text, "\n")
  71. return arr, nil
  72. }