Flutter

PDF URL

import 'package:flutter/material.dart';
import 'package:http/http.dart' as http;
import 'dart:convert';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(title: Text('Extract Text')),
        body: ExtractText(),
      ),
    );
  }
}

class ExtractText extends StatefulWidget {
  @override
  _ExtractTextState createState() => _ExtractTextState();
}

class _ExtractTextState extends State<ExtractText> {
  String _text = '';

  Future<void> _extractText() async {
    final response = await http.post(
      Uri.parse('https://v1.mlapi.co/pdf/pdf-to-text'),
      headers: <String, String>{
        'Content-Type': 'application/x-www-form-urlencoded',
      },
      body: {
        'pdf_url': 'https://example.com/your-pdf.pdf',
        'api_key': 'your_api_key',
      },
    );

    if (response.statusCode == 200) {
      setState(() {
        _text = json.decode(response.body)['text'];
      });
    } else {
      print('Error: ${response.statusCode}');
    }
  }

  @override
  Widget build(BuildContext context) {
    return Column(
      children: [
        ElevatedButton(
          onPressed: _extractText,
          child: Text('Extract Text'),
        ),
        Expanded(child: SingleChildScrollView(child: Text(_text))),
      ],
    );
  }
}

Upload PDF file

import 'package:flutter/material.dart';
import 'package:file_picker/file_picker.dart';
import 'package:http/http.dart' as http;
import 'dart:convert';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(title: Text('Extract Text')),
        body: ExtractText(),
      ),
    );
  }
}

class ExtractText extends StatefulWidget {
  @override
  _ExtractTextState createState() => _ExtractTextState();
}

class _ExtractTextState extends State<ExtractText> {
  String _text = '';
  PlatformFile _file;

  Future<void> _pickFile() async {
    FilePickerResult result = await FilePicker.platform.pickFiles();

    if (result != null) {
      setState(() {
        _file = result.files.single;
      });
    }
  }

  Future<void> _extractText() async {
    var request = http.MultipartRequest(
      'POST',
      Uri.parse('https://v1.mlapi.co/pdf/pdf-to-text'),
    );
    request.files.add(await http.MultipartFile.fromPath('file', _file.path));
    request.fields['api_key'] = 'your_api_key';

    var response = await request.send();

    if (response.statusCode == 200) {
      var responseBody = await response.stream.bytesToString();
      setState(() {
        _text = json.decode(responseBody)['text'];
      });
    } else {
      print('Error: ${response.statusCode}');
    }
  }

  @override
  Widget build(BuildContext context) {
    return Column(
      children: [
        ElevatedButton(
          onPressed: _pickFile,
          child: Text('Pick File'),
        ),
        ElevatedButton(
          onPressed: _extractText,
          child: Text('Extract Text'),
        ),
        Expanded(child: SingleChildScrollView(child: Text(_text))),
      ],
    );
  }
}

Last updated