使用 Kotlin 在 Android 中渲染 PDF

2024-07-01

我已经在使用 Java 的 PDF 上看到了该线程,但找不到任何有关如何使用 Kotlin 执行此操作的信息。

有什么方法或者我需要使用Java吗?

在 Android 上使用 Java 渲染 PDF 文件 https://stackoverflow.com/questions/2456344/render-a-pdf-file-using-java-on-android

具体来说,我必须执行以下步骤:在资产文件夹中声明并分配名称 PDF 文件

PDFView pdfView=findViewById(R.id.pdfv); 
pdfView.fromAsset("agl.pdf").load

我收到有关 PDFView 的错误,指出: “分类器 PDFView 没有伴随对象,因此必须在此处初始化”

我是 Kotlin 新手,我一生都无法做到这一点。

注意:仅使用 Kotlin 来尝试将我的 iOS 应用程序迁移到 Android,并且当我使用 Swift 时,有人建议 Swift 到 Kotlin 的转换是最好的方法……我不太确定是否是这样。

我的 UserGuideActivity.kt 的完整代码

import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import com.github.barteksc.pdfviewer.PDFView


 class UserGuideActivity : AppCompatActivity() {


    override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_user_guide)

     PDFView pdfView = findViewById(R.id.pdfv)
     pdfView.fromAsset("UserGuide.pdf").load()

    }
}

根据评论中有关粘贴到 Kotlin 文件并进行自动转换的建议,我得到:

package com.example.foundationdoctorshandbook
import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import com.github.barteksc.pdfviewer.PDFView


class UserGuideActivity : AppCompatActivity() {


    override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_user_guide)

            val pdfView = findViewById(android.R.id.pdfv)
            pdfView.fromAsset("UserGuide.pdf").load()
    }
 }

这里的问题是 PDFView 从未使用过,因此 id pdfv 未链接


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Kotlin 在 Android 中渲染 PDF 的相关文章

  • 如果没有发生触摸事件,Android SurfaceView 会变慢

    我正在制作一款游戏 除了游戏循环之外一切都很顺利 我正在使用 SurfaceView 并绘制 2D Sprites 位图 目前游戏是一艘穿过小行星带的飞船 飞船停留在屏幕中央 手机向任一方向倾斜以移动小行星 小行星改变位置而不是玩家 当旧的
  • 在 Eclipse 中打开 Android XML 布局的快捷方式

    例如 如果我有类似的东西 setContentView R layout activity main 有没有快捷方式可以打开activity main xml 如果没有 有没有办法创建一个 Its there Just hold Ctrl
  • Progruard 和 R8 已弃用 - Android Studio 3.6

    将 Android Studio 升级到 3 6 后 我收到了有关 Proguard 和 R8 的弃用警告 这是否意味着我们不应该在项目中使用混淆 或者在发布模式下构建时我们应该考虑另一个等效选项 选项 android enableR8 已
  • Android:在服务器端验证应用程序的完整性

    我正在编写一个通过 HTTPS 与服务器应用程序进行通信的 Android 应用程序 在服务器端 我必须绝对确定 Android 应用程序的完整性 这意味着服务器应用程序需要确保它与我开发的 Android 应用程序通信 而不是与重写的应用
  • Volley ProgressDialog在获取大量数据时卡住/冻结

    这是我的代码 private void downloadSupplyTownData final int townId2 Using Volley Post params to be sent to the server HashMap
  • 关于ListView中ViewHolder模式实现优化

    因此 众所周知的 ViewHolder 模式通常看起来像 ListAdapter Override public View getView final int position View convertView final ViewGrou
  • 将 compose 示例项目导入到 android studio 版本 4.2

    我正在尝试导入编写示例项目 https github com android compose samples 但我面临这个错误 Invalid injected android support version 202 7660 26 42
  • 片段替换现有片段

    我有 MainActivity 它包含 ListFragment 和框架布局 我可以在项目单击时更改列表上的片段 我在更换现有产品时遇到问题Fragment1与新的Fragment2 单击按钮时Fragment1 Fragment2应该取代
  • 使用脚本取消设置 PDF 字体

    我正在使用 xhtml2pdf 库自动创建 PDF 几个月前我有过这个问题 https stackoverflow com questions 25203219 xhtml2pdf doesnt embed helvetica 库嵌入了我没
  • Kotlin 协程的现有 3 函数回调

    我有一个带有具体示例的一般性问题 我想在拍照时使用 Kotlin 协程魔法而不是 Android 中的回调地狱 manager openCamera cameraId object CameraDevice StateCallback ov
  • Android 自定义进度条不旋转

    我想更改默认动画ProgressBar 所以我在我的主题中添加了自定义样式 样式 xml 我在我的内部调用这种风格ProgressBar具有以下内容 进度条 xml
  • 使用数据绑定后查看边距不起作用

    下面是gridview的item布局的代码 在此 layout margin 位于设计面板中 但当我运行时没有边距 我尝试检查其他标签 例如背景 发现它有效 类似的问题是线性布局的布局权重 它们也不起作用 这些在没有数据绑定的情况下工作得很
  • ScrollView 隐藏底部线性布局

    我的 Android 应用程序中有以下 XML 布局 使用 ScrollView
  • INSTALL_FAILED_MISSING_SHARED_LIBRARY 没有 google api

    好吧 我一直在浏览 但我最终得到的只是谷歌的 api 我没有在我的应用程序中使用任何来自谷歌的API 我正在编写一个使用 sqlite 浏览器的应用程序 但尚未使用任何其他参考 任何想法 我之前没有开始过这个应用程序 所以现在这是一个非常大
  • Android 定期运行任务

    我想在 android 活动中定期运行一个方法 该方法会在 x 秒后更新某个字段 我知道它可以在timerTask中完成 但是最好的方法是什么 代码示例会很有帮助 你应该使用Handler和它的postDelayed功能 您可以在这里找到示
  • UserRecoverableAuthException:NeedPermission

    我尝试按照教程进行操作 https developers google com android guides http auth https developers google com android guides http auth Co
  • 在 onClick 处理程序的活动类 [...] 中找不到方法 [...](View)

    当我按下按钮时fragment main xml 出现这个错误 java lang IllegalStateException Could not find a method sendMessage View in the activity
  • Android Studio:无法加载 dx.jar

    当我在 Android Studio 中运行我的模块时 出现以下错误 错误 Android Dex GradleDevBuild 无法加载 dx jar 我在网上无休无止地寻找解决方案 但一切都与 eclipse 有关 而与 Android
  • 三星我的文件资源管理器:从指定文件夹中选取文件

    我使用以下代码打开三星的 我的文件 应用程序来选择文件 public void openFileBrowser Intent intent new Intent com sec android app myfiles PICK DATA t
  • 每个项目有 2 个 TextView 的 Android ListView

    我在网上看到的所有示例每个项目仅包含 1 个 TextView 并且它们从数组加载数据 我不明白如何指定哪些数据去哪里 例如我的项目布局如下所示

随机推荐

  • 如何在Windows上安装PyGI(Python Gobject Introspection)?

    安装Python解释器 http python org ftp python 2 7 2 python 2 7 2 msi http python org ftp python 2 7 2 python 2 7 2 msi and http
  • pandas 支持 DataFrame 的哪些绘图后端?

    pandas 确实允许与第三方一起绘图绘制后端 https pandas pydata org pandas docs stable development extending html plotting backends 我知道matpl
  • CoreGraphics 和 CoreAnimation 有什么不同?

    我正在使用 coregraphics 开发 iphone 游戏 但速度很慢 我无法玩我的游戏 所以 我用谷歌搜索了很多 在谷歌搜索过程中 我发现了以下内容 CoreGraphics CoreAnimation OpenGL ES CALay
  • 查询每组前 N 个代码适用于 MySQL,但适用于 MariaDB,结果不同

    我有一个 SQL 查询 它提取每组的最新 3 条记录 MySQL 的查询结果与 MariaDB 不同 该查询在下面的sqlfiddle中实现 http sqlfiddle com 9 c09fe 2 http sqlfiddle com 9
  • 应用程序大小限制和查找应用程序的大小

    好吧 我读过无数地方说应用程序大小限制是 20 MB 有些说是 50 MB 是哪一个 更重要的是 我当前的应用程序在管理器的存档部分中的 估计应用程序商店大小 为 106 1mb 然而 当我将它分发到一个临时文件时 它会以 ipa 的形式出
  • 使用 FileDialog 打开工作簿并在 Excel VBA 中对其进行操作

    我正在学习如何使用 Excel 宏 我发现了这段代码 Dim fd As Office FileDialog Set fd Application FileDialog msoFileDialogFilePicker With fd All
  • 使用 swift 3.0 编译的模块无法在 Swift 3.0.1 中导入

    我将 Xcode 升级到 8 1 GM 现在收到以下 SwiftyJSON 错误 其他导入的框架似乎也有效 有没有办法强制它在 Swift 3 中工作 直到 SwiftyJSON 升级他们的框架 我使用 Carthage 导入 更新框架 我
  • 应用内购买仍在等待审核

    当我们开发新版本的应用程序时 我们提交了一些应用内购买的新版本 这些内容与旧版本相同 但属于消耗品 因此您可以多次购买 并且还支持折扣 它们被返回的原因是 请与二进制文件一起提交 因此 我们在上传新应用程序版本的二进制文件后再次提交了它们
  • jQuery 可以根据高度选择 div 吗?还是教程错了?

    我正在尝试选择一个div基于其高度 如本教程所示 jQuery 选择 http tutorials jenkov com jquery selection html 我无法让它工作 jsbin 示例 http jsbin com eriqi
  • 向量到元素之间差异矩阵

    给定一个向量 vec lt 1 5 创建矩阵的有效方法是什么 其中向量分量之间的差异显示在矩阵 差异矩阵 中 如果您愿意的话 显然 我可以使用两个 for 循环来完成此操作 但我需要使用更大的数据集来完成此操作 我试图为这个矩阵创建一个术语
  • 列出 AD 用户的组成员身份

    使用以下 Powershell 代码片段 我获取当前用户的组成员身份的名称 groups System Security Principal WindowsIdentity GetCurrent Groups foreach i in gr
  • 当字符串值包含逗号时,JSON.parse 在 Safari 中失败

    我正在构建一个购物车 当按下 购买 按钮时 Web 服务会返回一个 JSON 输出 然后我将其作为字符串保存到 Javascript cookie 中 Web 服务的典型返回可能是 d 58658 id 58658 qty 1 single
  • 在Python中根据等级和花色对一手牌进行排序

    我正打算制作一款纸牌游戏 目前我正在着手开发它 我感到困惑的是 按牌的等级对手中的牌进行排序 然后按花色排序 以及如何减少重复 目前 我可能可以创建一个 for 循环来组织卡片 然后为每种可能性设置 52 个不同的 if 但我想知道它们是否
  • 当叠加两个相同大小的图像时,其中一个会偏移

    我正在尝试通过将一个图像叠加在另一个图像上来创建图像 该代码有效 但我叠加的图像似乎略有拉伸 我不知道为什么 所以代码只是创建一个空白的红色 24x24 矩形 然后我覆盖一个 24x24 png 文件 如下所示 我期待的是这样的 但我实际上
  • dte.Solution.SolutionBuild.StartupProjects 更改时是否会触发事件?

    我正在构建一个 Visual Studio 2010 插件供我公司内部使用 我想自定义主窗口标题以显示当前启动项目的名称 我可以使用以下代码设置主窗口的标题 DTE d GlobalClass dte2 as DTE IntPtr hWnd
  • WPF ICollectionView 过滤

    我写了一个代码过滤项目在组合框中 我的问题是 你会怎么做 我认为这种带有反射的解决方案可能非常有效slow ICollectionView view CollectionViewSource GetDefaultView newValue
  • 如何将此查询编写为完整联接而不是联合左/右联接?

    这是代码 显示输入和所需的输出 基本上 我正在尝试自我加入 以将经纪人声明的结果与我的内部记录相匹配 所以左边的列是经纪人的列表 右边是我的列表 如果经纪人有仓位 而我没有 则右侧为 NULL 如果我有仓位而经纪商没有 则左侧为 NULL
  • 如何在知道其十进制值的情况下找出菜单中项目的字符串 ID?

    我正在使用 android support v7 appcompat 在一个活动中 我想在操作栏中显示后退按钮 我愿意 public class News extends ActionBarActivity Override protect
  • 无法在 BeautifulSoup 中获得正确的链接

    我正在尝试解析一些 HTML 并且想提取与特定模式匹配的链接 我正在使用find使用正则表达式的方法 但它没有给我正确的链接 这是我的片段 有人可以告诉我我做错了什么吗 from BeautifulSoup import Beautiful
  • 使用 Kotlin 在 Android 中渲染 PDF

    我已经在使用 Java 的 PDF 上看到了该线程 但找不到任何有关如何使用 Kotlin 执行此操作的信息 有什么方法或者我需要使用Java吗 在 Android 上使用 Java 渲染 PDF 文件 https stackoverflo