mlapi
HomeBlog
  • Welcome
  • Extract Text from PDF
    • Parameters
    • Supported File types
    • Error Responses
    • Programming Languages
      • Python
      • Javascript
      • Curl
      • Java
      • Go
      • Rust
      • C++
    • Web and Mobile frameworks
      • React
      • React Native (Javascript)
      • HTML
      • PHP
      • Rust (with Active-Web)
      • Angular
      • Flutter
      • Andriod Development (Java)
      • Swift
      • Vue.js
      • Svelte
    • Pricing
    • On Premise Deployment
Powered by GitBook
On this page
  1. Extract Text from PDF
  2. Programming Languages

Go

PDF URL

package main

import (
    "bytes"
    "fmt"
    "io/ioutil"
    "net/http"
    "net/url"
)

func main() {
    form := url.Values{}
    form.Add("pdf_url", "https://example.com/your-pdf.pdf")
    form.Add("api_key", "your_api_key")

    resp, err := http.PostForm("https://v1.mlapi.co/pdf/pdf-to-text", form)
    if err != nil {
        fmt.Println("Error:", err)
        return
    }
    defer resp.Body.Close()

    body, _ := ioutil.ReadAll(resp.Body)
    if resp.StatusCode == http.StatusOK {
        fmt.Println(string(body))
    } else {
        fmt.Printf("Error: %d, %s\n", resp.StatusCode, body)
    }
}

Upload PDF file

package main

import (
    "bytes"
    "fmt"
    "io"
    "mime/multipart"
    "net/http"
    "os"
)

func main() {
    file, err := os.Open("path/to/your-pdf.pdf")
    if err != nil {
        fmt.Println("Error:", err)
        return
    }
    defer file.Close()

    body := &bytes.Buffer{}
    writer := multipart.NewWriter(body)
    part, err := writer.CreateFormFile("file", "your-pdf.pdf")
    if err != nil {
        fmt.Println("Error:", err)
        return
    }
    io.Copy(part, file)

    // Add api_key
    writer.WriteField("api_key", "your_api_key")

    writer.Close()

    req, err := http.NewRequest("POST", "https://v1.mlapi.co/pdf/pdf-to-text", body)
    req.Header.Set("Content-Type", writer.FormDataContentType())
    client := &http.Client{}
    resp, err := client.Do(req)
    if err != nil {
        fmt.Println("Error:", err)
        return
    }
    defer resp.Body.Close()

    respBody, _ := io.ReadAll(resp.Body)
    if resp.StatusCode == http.StatusOK {
        fmt.Println(string(respBody))
    } else {
        fmt.Printf("Error: %d, %s\n", resp.StatusCode, respBody)
    }
}
PreviousJavaNextRust

Last updated 9 months ago