首页 > 其他分享 >PDFViewer电子书阅读器

PDFViewer电子书阅读器

时间:2023-12-16 14:11:53浏览次数:20  
标签:pdfView false PDFViewer 电子书 page 阅读器 new true pages

PdfViewer是一款属性和接口全面的安卓电子书插件

地址:https://github.com/barteksc/AndroidPdfViewer

依赖:implementation 'com.github.barteksc:android-pdf-viewer:3.2.0-beta.1'

<com.github.barteksc.pdfviewer.PDFView
        android:id="@+id/pdfView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>
pdfView.fromUri(Uri)
or
pdfView.fromFile(File)
or
pdfView.fromBytes(byte[])
or
pdfView.fromStream(InputStream) // stream is written to bytearray - native code cannot use Java Streams
or
pdfView.fromSource(DocumentSource)
or
pdfView.fromAsset(String)
    .pages(0, 2, 1, 3, 3, 3) // all pages are displayed by default
    .enableSwipe(true) // allows to block changing pages using swipe
    .swipeHorizontal(false)
    .enableDoubletap(true)
    .defaultPage(0)
    // allows to draw something on the current page, usually visible in the middle of the screen
    .onDraw(onDrawListener)
    // allows to draw something on all pages, separately for every page. Called only for visible pages
    .onDrawAll(onDrawListener)
    .onLoad(onLoadCompleteListener) // called after document is loaded and starts to be rendered
    .onPageChange(onPageChangeListener)
    .onPageScroll(onPageScrollListener)
    .onError(onErrorListener)
    .onPageError(onPageErrorListener)
    .onRender(onRenderListener) // called after document is rendered for the first time
    // called on single tap, return true if handled, false to toggle scroll handle visibility
    .onTap(onTapListener)
    .onLongPress(onLongPressListener)
    .enableAnnotationRendering(false) // render annotations (such as comments, colors or forms)
    .password(null)
    .scrollHandle(null)
    .enableAntialiasing(true) // improve rendering a little bit on low-res screens
    // spacing between pages in dp. To define spacing color, set view background
    .spacing(0)
    .autoSpacing(false) // add dynamic spacing to fit each page on its own on the screen
    .linkHandler(DefaultLinkHandler)
    .pageFitPolicy(FitPolicy.WIDTH) // mode to fit pages in the view
    .fitEachPage(false) // fit each page to the view, else smaller pages are scaled relative to largest page.
    .pageSnap(false) // snap pages to screen boundaries
    .pageFling(false) // make a fling change only a single page like ViewPager
    .nightMode(false) // toggle night mode
    .load();

 

推荐使用:

      pdfView.fromFile(new File(filePath))
                .defaultPage(0)
                .enableAntialiasing(true)
                .enableDoubletap(false)
                .onLoad(new onl oadCompleteListener() {
                    @Override
                    public void loadComplete(int nbPages) {
                        Log.d(TAG, "loadComplete: ok!");
                    }
                })
                .onRender(new OnRenderListener() {
                    @Override
                    public void onInitiallyRendered(int nbPages) {

                    }
                })
                .onPageChange(new OnPageChangeListener() {
                    @Override
                    public void onPageChanged(int page, int pageCount) {
                        Log.d(TAG, "onPageChanged: 当前是第"+page+"页  总共"+pageCount);
                    }
                })
                .onPageScroll(new OnPageScrollListener() {
                    @Override
                    public void onPageScrolled(int page, float positionOffset) {

                    }
                })
                .load();

        pdfView.fromFile(new File(filePath))
                .enableSwipe(true) // 屏幕滑动
                .enableDoubletap(false) //禁双击
                .spacing(10) //页面之间距离 dp
                .enableAntialiasing(true)
                .pageFitPolicy(FitPolicy.WIDTH) //模式来适应视图中的页面
                .pageSnap(true) //将页面对齐到屏幕边界
                .nightMode(false)
                .load();

 

标签:pdfView,false,PDFViewer,电子书,page,阅读器,new,true,pages
From: https://www.cnblogs.com/remix777/p/17904782.html

相关文章

  • gitbook制作电子书
    1引言GitBook是一个开源的文档编辑和托管平台,用于创建和维护文档、手册和电子书。它基于Markdown和Git技术,帮助用户方便地编写、编辑和发布文档。GitBook支持将文档输出为多种格式,包括网页、PDF、ePub等,适用于不同的阅读和分享场景。GitBook还提供了团队协作的功能,可以方......
  • C++ Templates 第2版 电子书 pdf
    关注公众号:红宸笑。回复:电子书即可  本书是同名经典畅销图书的全新升级版本,针对C++11、C++14、C++17标准进行了全面更新,并对所有的新语言特性(包括可变参数模板、通用lambda、类模板参数推导等)进行了解释。全书共28章。首先全面介绍了本书的内容结构和相关情况。第1部分(......
  • 我用 AI 写的《JavaScript 工程师的 Python 指南》电子书发布啦!
    关于本书你好,我是luckrnx09,一名靠React恰饭的前端工程师,很高兴向你介绍我的第一本开源电子书《JavaScript工程师的Python指南》。本书的内容完全免费,开源地址:https://github.com/luckrnx09/python-guide-for-javascript-engineers为什么会有这本书2022年,ChatGPT引起了......
  • 开源电子书软件推荐
    这篇文章给大家推荐一款跨平台的电子书阅读器,这款阅读器功能还是很强大的,支持多平台使用,整个界面的ui也是不错的,还内置了一些常用功能。1KoodoReader简介支持阅读格式:EPUB(.epub)扫描文档(.pdf,.djvu)Kindle(.azw3,.mobi,.azw)纯文本(.txt)......
  • Android阅读器之文本、图片和表格测量
    文章摘要本文将介绍如何在Android开发中实现文本、图片和表格的测量。我们将使用AndroidStudio和Java语言,并利用AndroidSDK中的相关类库。正文文本测量在Android中,可以使用Paint类和getTextBounds()方法来测量文本。首先,需要创建一个Paint对象,然后设置字体、颜色等属性。接下来,调......
  • Android阅读器之文本、图片和表格测量
    文章摘要本文将介绍如何在Android开发中实现文本、图片和表格的测量。我们将使用AndroidStudio和Java语言,并利用AndroidSDK中的相关类库。正文文本测量在Android中,可以使用Paint类和getTextBounds()方法来测量文本。首先,需要创建一个Paint对象,然后设置字体、颜色等......
  • 平台工程指南:TheNewStack 发布的免费电子书
    TheNewStack日前发布了免费电子书《PlatformEngineering:WhatYouNeedtoKnowNow》,该电子书由VMwareTanzu赞助,期望为您的平台工程战略奠定基础,助您实现DevOps所承诺的更快的生产力。 通过这本平台工程的新电子书,探索DevOps文化如何导致内部开发者平台的采用率上升......
  • 电子书阅读设备分享——meebook M6
    电子书阅读设备分享——meebookM6*作为爱看书的你,除了购买纸质书之外,平常看电子书的话喜欢用什么设备呢?手机、平板还是电纸书?*meebook这个品牌其实就是以前的博阅,甚至连说明书都还有博阅的痕迹~M6这台电纸书口碑非常不错,价格也就700来块,很亲民,可以说是6英......
  • 【电子书分享】龙书《编译原理(第2版)》文字版中文 可复制 完整目录 pdf epub
    目录龙书历史龙书简介作者地址龙书历史编译原理三大圣书——龙书、虎书、鲸书。龙书作为其中之一,广受欢迎。《计算机科学丛书:编译原理(第2版)》是编译领域无可替代的经典著作,被广大计算机专业人士誉为"龙书"。《计算机科学丛书:编译原理(第2版)》上一版自1986年出版以来,被世界......
  • 系统|--右键卡死|--卸载福X阅读器就好了
    前言系统中安装的软件比较多电脑中可能和这个问题有关系的软件一览↓#TortoiseGit(本来是版本Release2.14.0,后来升级版本到Release2.15.0还是不行)#VisualStudio#福XPDF阅读器#福XPDF编辑器#OneDrive我要复制一个文件夹,每当{选中该文件夹},鼠标右击......