搜索插件、代码仓与 APP 分类

插件详情v1.1.4

pdf_flutter

像在Flutter Widget中显示图像一样,轻松地从网络、文件和资源中显示PDF。

近 30 天下载
39
喜欢数
71
Pub 分数
40

安装插件

flutter pub add pdf_flutter

插件介绍

基于插件公开信息、社区数据与项目使用情况整理的选型参考。

pdf_flutter 是一个 Flutter 包,可使用类似 Flutter 的 Image 小部件的简单界面,轻松从各种来源(网络 URL、本地文件和资源)显示 PDF 文档。它抽象了渲染 PDF 的复杂性,为开发者提供简洁直观的 API。该包支持基本渲染,并可无缝集成到现有的 Flutter 应用中,无需原生代码。适用于需要文档查看功能的应用程序,如电子书、报告或表单。

适合场景

  • 从URL显示PDF
  • 渲染本地PDF文件
  • 显示嵌入资产中的PDF
  • 构建文档查看器应用
  • 在教育类应用程序中集成PDF

主要特点

  • 简单的图像类似API
  • 支持网络、文件和资产 PDF
  • 轻量且易于集成
  • 跨平台兼容性
  • 内置错误处理

适合对象

  • 需要显示PDF的应用开发者
  • 教育或文档导向的应用程序
  • 包含可下载或嵌入PDF内容的应用程序
  • 初学者学习Flutter PDF集成

使用建议

  • 有限的高级PDF功能,如注释
  • 无内置PDF编辑功能
  • 性能可能因大型 PDF 而异
  • 需要对无效PDF进行适当的错误处理

原始 README

以下为关联源码仓库的 README 原文快照,最新内容请访问源码仓库。

pdf_flutter

pub package

Inspired by Pdf_Viewer_Plugin 😇 Wrapped around AndroidPdfViewer on Android. 🙏🏼

1. Add pdf_flutteron pubspec.yml
dependencies:
  pdf_flutter: ^version
2. On iOS enable PDF preview like this:

Add this on ios/Runner/info.plist:

    <key>io.flutter.embedded_views_preview</key>
    <true/>
3. Start Using
Load PDF from network (caches PDF from network)
    PDF.network(
            'https://raw.githubusercontent.com/FlutterInThai/Dart-for-Flutter-Sheet-cheet/master/Dart-for-Flutter-Cheat-Sheet.pdf',
            height: 500,
            width: 300,
            maxAndroidZoom: widget.maxAndroidZoom,
            midAndroidZoom: widget.midAndroidZoom,
            minAndroidZoom: widget.minAndroidZoom,
    )
Load PDF files
    File fileName;  
    PDF.file(
        fileName,
        height: 200,
        width: 100,
        maxAndroidZoom: widget.maxAndroidZoom,
        midAndroidZoom: widget.midAndroidZoom,
        minAndroidZoom: widget.minAndroidZoom,
    )
Load PDF from assets
    PDF.assets(
        "assets/pdf/demo.pdf",
        height: 200,
        width: 100,
        maxAndroidZoom: widget.maxAndroidZoom,
        midAndroidZoom: widget.midAndroidZoom,
        minAndroidZoom: widget.minAndroidZoom,
    )
For Production
Here are the steps to fix:
    1. Add proguard-rules.pro file if its not already there
    2. Inside of the proguard-rules.pro file put this:
        -keep class com.shockwave.**
        -keepclassmembers class com.shockwave.** { *; }
        
    3.In app/build.gradle add this:
        shrinkResources true
        minifyEnabled true
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

Demo

demo

所属分类

依赖

依赖清单 3 项

源码仓库

使用此插件的项目

暂无相关数据。