如何在 Flutter 应用程序的后端处理 PDF?

问题描述 投票:0回答:1

我有这项大学作业要做,任务是在 Flutter 中创建一个应用程序,该应用程序将从该网站获取数据:

https://www4.trf5.jus.br/diarioeletinternet/paginas/consultas/consultaDiario.faces (不是所有数据,只是经过此过滤的数据{Orgão = Seção Judiciária do Sergipe;Edição = Administrativa;Ano = 2020 年至 2023 年)

前端已经快完成了。这是该应用程序的 Figma 原型:

https://www.figma.com/file/ptRv10llFteb53yMhkTRo5/App-de-Consulta-Di%C3%A1rio-Eletr%C3%B4nico?type=design&node-id=0%3A1&mode=design&t=G7949zSzsx6knXjl-1

应用程序需要允许用户下载 PDF 或按名称或处理代码进行过滤。 (如果您对应用程序功能有任何疑问,请告诉我)

所以,问题是这个网站没有API,而且数据是PDF格式的。 我最初的想法是使用 Python 和 playwright 下载所有 PDF(从 2020 年到 2023 年)。但我不知道如何将其存储在数据库中并返回给用户,因为有时应用程序不会返回 PDF 中的所有文本,只会返回一小部分。

我使用 Firebase 作为后端。

关于如何做到这一点有什么想法吗?

flutter pdf backend
1个回答
0
投票

你需要使用file_picker包然后看这段代码

import 'dart:io';
import 'package:file_picker/file_picker.dart';
import 'package:firebase_storage/firebase_storage.dart';
import 'package:firebase_database/firebase_database.dart';

Future<void> uploadPdf() async {
  final File file = await FilePicker.getFile(type: FileType.custom,                         
 allowedExtensions: ['pdf']);
  final FirebaseStorage storage = FirebaseStorage.instance;
  final Reference ref = storage.ref().child('pdfs/${file.name}');
  final UploadTask uploadTask = ref.putFile(file);
  final TaskSnapshot taskSnapshot = await uploadTask.whenComplete(() =>     null);
  final String url = await taskSnapshot.ref.getDownloadURL();

  final FirebaseDatabase database = FirebaseDatabase.instance;
  final DatabaseReference databaseReference =     database.ref().child('pdfs/${file.name}');
  databaseReference.setValue(url);
}
© www.soinside.com 2019 - 2024. All rights reserved.