Die Frage ist einfach, ich möchte jede PDF- oder Doc-Datei über die Standard-App mit Flutter öffnen.
Denken Sie an eine erhöhte Schaltfläche, die mein PDF-Asset betrifft. Wenn der Benutzer sie drückt, wird die PDF-Datei über den Acrobat-Reader usw. geöffnet. Ich möchte keine web_view-Komponente dafür verwenden.
wird es in Flutter unterstützt?
Sie können dies tun, indem Sie Google-Dokumente in einem Webbrowser öffnen:
In pubspec.yaml benötigen Sie:
url_launcher: ^0.4.2+5
Beinhaltet:
import 'package:flutter/src/gestures/tap.Dart';
import 'package:url_launcher/url_launcher.Dart';
Code-Auszug :
new RichText(
text: new LinkTextSpan(
url: 'http://docs.google.com/viewer?url=http://www.pdf995.com/samples/pdf.pdf',
text: 'Show My Pdf'),
),
LinkTextSpan-Klasse:
class LinkTextSpan extends TextSpan {
LinkTextSpan({TextStyle style, String url, String text})
: super(
style: style,
text: text ?? url,
recognizer: new TapGestureRecognizer()
..onTap = () {
launch(url);
});
}
Ein guter und einfacher Ansatz dazu ist das Paket open_file , mit dem Sie eine Datei mit dem angegebenen Pfad öffnen können. Es unterstützt zahlreiche verschiedene Dateitypen:
import 'package:open_file/open_file.Dart';
OpenFile.open("/sdcard/example.pdf");
Sie können meine Flatterbibliothek verwenden. Es ist ein PDF-Viewer für iOS und Android. Hier ist der GIT-Repo: https://github.com/albo1337/flutter_full_pdf_viewer
Viele Grüße Nullpointer/albo
Sie können dazu url_launcher package verwenden. Übergeben Sie als Parameter die Variable path
an die Methode launch () .