Pdf-Viewer:轻量级Android PDF阅读库完全指南

Pdf-Viewer:轻量级Android PDF阅读库完全指南

【免费下载链接】Pdf-Viewer A Lightweight PDF Viewer Android library which only occupies around 80kb while most of the Pdf viewer occupies up to 16MB space. 【免费下载链接】Pdf-Viewer 项目地址: https://gitcode.com/gh_mirrors/pdf/Pdf-Viewer

在移动应用开发中,PDF文档的显示和阅读是一个常见但复杂的需求。传统的PDF解决方案往往占用大量存储空间,影响应用性能。今天,我们要介绍的是一个革命性的开源工具——Pdf-Viewer,它仅占用约80kb的空间,而大多数PDF阅读器占用高达16MB的空间。

为什么选择Pdf-Viewer?

想象一下:你的教育应用需要展示电子教材,企业应用要共享业务报告,或者内容平台要发布研究论文。Pdf-Viewer正是为此而生!这个基于Android系统原生PDF渲染引擎的轻量级库,让PDF集成变得前所未有的简单。

五大核心优势

极致的轻量级设计

Pdf-Viewer库大小仅约80kb,相比传统PDF解决方案节省了超过99%的空间。这意味着更快的应用启动速度、更低的内存占用和更好的用户体验。

强大的性能优化

![PDF渲染性能](https://raw.gitcode.com/gh_mirrors/pdf/Pdf-Viewer/raw/64c5800f5b695757ea2bb6c9d07d0a8a6956cee1/Screenshot from 2020-07-12 13-30-51.png?utm_source=gitcode_repo_files)

通过优化的缓存策略和智能渲染机制,Pdf-Viewer能够高效处理大型PDF文件,确保流畅的翻页和缩放体验。

全面的功能支持

  • 智能缩放和平滑平移
  • 便捷的页面导航和跳转
  • 本地文件和网络资源支持
  • 屏幕截图保护功能
  • 横竖屏自适应

高度可定制化界面

Pdf-Viewer提供了完整的UI定制方案,开发者可以轻松修改工具栏样式、页面显示效果、颜色主题等,完美匹配应用的整体设计风格。

现代化的技术架构

支持Jetpack Compose,与最新的Android开发技术栈完美融合。无论是传统的View系统还是现代的Compose架构,都能获得一致的开发体验。

主要功能特性

Jetpack Compose就绪

步入未来的Jetpack Compose兼容性。现在在我们的Compose项目中集成PDF查看器变得毫不费力,这要归功于PdfRendererViewCompose可组合函数。

本地和设备文件处理

我们改进了本地文件的处理方式,使其更加流畅,符合最新的权限策略。

无缝的方向适应

我们的库现在智能地在方向更改期间保留您的页面位置,确保不间断的阅读会话。

增强的文件路径安全性

安全性变得更强大。我们改进了文件路径处理,以提供强大的保护,防止目录遍历攻击,使您的数据比以往任何时候都更安全。

简化的缓存系统

体验最佳效率!我们改进的缓存策略智能地管理存储,仅保留最新的PDF文件以优化性能和空间使用。

隐蔽的屏幕截图预防功能

隐私很重要。我们新的截图阻止功能增强了您应用程序中的数据保密性,使敏感信息免受窥探。

快速集成指南

添加依赖

要将Pdf-Viewer库集成到您的项目中,请在build.gradle文件中添加以下依赖:

dependencies {
    implementation 'io.github.afreakyelf:Pdf-Viewer:latest-version'
}

系统要求

  • 最低SDK版本:21
  • 编译和目标SDK版本:35

使用方法详解

从URL打开PDF

要显示来自URL的PDF,请使用以下代码:

PdfViewerActivity.launchPdfFromUrl(
    context = this,
    pdfUrl = "your_pdf_url_here",
    pdfTitle = "PDF Title",
    saveTo = saveTo.ASK_EVERYTIME,
    enableDownload = true
)

从本地存储打开PDF

要打开存储在本地存储中的PDF:

PdfViewerActivity.launchPdfFromPath(
    context = this,
    path = "your_file_path_or_uri_here",
    pdfTitle = "Title",
    saveTo = saveTo.ASK_EVERYTIME,
    fromAssets = false
)

从Assets打开PDF

要从应用程序的assets文件夹打开PDF:

PdfViewerActivity.launchPdfFromPath(
  context = this,
  path = "file_name_in_assets",
  pdfTitle = "Title",
  saveTo = saveTo.ASK_EVERYTIME,
  fromAssets = true
)

在View中加载PDF

将PDF直接加载到视图中:

在您的布局文件中添加PDF渲染视图

<com.rajat.pdfviewer.PdfRendererView
    android:id="@+id/pdfView"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:pdfView_divider="@drawable/pdf_viewer_divider"
    app:pdfView_showDivider="false" />

在您的kotlin文件中

binding.pdfView.initWithUrl(
  url = "your_pdf_url_here",
  lifecycleCoroutineScope = lifecycleScope,
  lifecycle = lifecycle
)

与Jetpack Compose一起使用

对于Jetpack Compose,使用PdfRendererViewCompose:

PdfRendererViewCompose(
    source = PdfSource.Remote("your_pdf_url_here"),
    lifecycleOwner = LocalLifecycleOwner.current,
    modifier = Modifier,
    headers = HeaderData(mapOf("Authorization" to "123456789")),
    statusCallBack = object : PdfRendererView.StatusCallBack {
                // 在这里重写函数
    },
    zoomListener = object : PdfRendererView.ZoomListener {
                // 在这里重写函数
        override fun onZoomChanged(isZoomedIn: Boolean, scale: Float) {
                    TODO("Not yet implemented")
         }
     }
)

UI定制化方案

主题定制

您需要将自定义主题添加到styles.xml/themes.xml文件中,并覆盖所需的属性值。 父主题可以是Theme.PdfView.LightTheme.PdfView.Dark或应用程序中无操作栏的主题。

<style name="Theme.PdfView.SelectedTheme" parent="@style/Theme.PdfView.Light">
    <item name="pdfView_backIcon">@drawable/pdf_viewer_ic_arrow_back</item>
    <item name="pdfView_showToolbar">true</item>
    <item name="pdfView_disableScreenshots">true</item>
</style>

页面编号定制

您需要将自定义布局添加到pdf_view_page_no.xml文件中,并覆盖所需的属性值。

支持的属性

| 属性名称 | 类型 | 预期变化 | |--|--|--| |pdfView_backIcon|drawable|导航图标| |pdfView_downloadIcon|drawable|下载图标| |pdfView_downloadIconTint|color|下载图标色调| |pdfView_toolbarColor|color|操作栏背景颜色| |pdfView_titleTextStyle|style|操作栏标题文本外观| |pdfView_progressBar|style|进度条样式|

实际应用场景

在线教育平台

学生可以直接在应用内阅读课程资料,无需下载文件,提升学习效率!

企业文档管理

团队成员可以快速预览和讨论PDF报告,简化协作流程。

内容创作应用

开发者和创作者能够更专业地展示他们的作品和技术文档。

技术架构解析

Pdf-Viewer基于Android系统的PdfRenderer核心,通过智能的页面缓存机制和优化的内存管理,实现了在极小空间占用下的高性能PDF渲染。

总结

Pdf-Viewer是一个强大而灵活的PDF阅读解决方案,无论您是开发者寻求集成PDF查看功能,还是普通用户寻找一个可靠的PDF阅读器,都值得尝试。立即将Pdf-Viewer集成到您的项目中,为用户提供顶级的PDF阅读体验。您的应用,值得拥有最好的PDF解决方案!

【免费下载链接】Pdf-Viewer A Lightweight PDF Viewer Android library which only occupies around 80kb while most of the Pdf viewer occupies up to 16MB space. 【免费下载链接】Pdf-Viewer 项目地址: https://gitcode.com/gh_mirrors/pdf/Pdf-Viewer

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值