gpt4 book ai didi

android - 在android代码中从PDF获取页数

转载 作者:搜寻专家 更新时间:2023-11-01 09:32:52 26 4
gpt4 key购买 nike

我需要一个明确的解决方案,了解如何从 Android 中的 PDF 文件中获取页数。假设此人已在 onActivityResult() 上选择了文件,我想知道 PDF 文件有多少页。我希望有一个适用于 minSdkVersion 19 的解决方案,并且不需要我为任何 PDF 处理软件付费,因为我已经在网上查过,没有明确的解决方案。请非常感谢,因为我真的需要解决方案。我将它与 Firebase 一起使用,并希望在上传文件时上传 PDF 的页数。

这是一个示例代码,我使用了 PDF Box:我不断收到的错误是 08-10 21:07:57.533 20514-20514/com.example.android.firebaseupload E/file: Error: End- of-File, expected line 我之前必须手动输入文件路径,即使在手动输入文件路径后也是同样的错误。如何将 pdf 文件从路径加载到 PDDocument.load()??

 try {

PDDocument doc = PDDocument.load("file:///storage/emulated/0/Boom%20Player/cache/c2#.pdf".getBytes());
Toast.makeText(MainActivity.this,"Number of pages: "+doc.getNumberOfPages(),Toast.LENGTH_LONG).show();
}
catch (Exception e)
{

Log.e("file",e.getMessage().toString());
}

最佳答案

找到解决方案,而不是在 Uri 上调用 getpath() 并尝试使用新文件 (Uri.getPath()) 打开它,我调用 openInputStream() 从 Uri 获取 InputStream。这里有很棒的帮助...... getContentResolver().openInputStream(uri) Android: Getting a file URI from a content URI? :) 还要感谢链接 https://commonsware.com/blog/2016/03/15/how-consume-content-uri.html让我了解更多。

 protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(requestCode==pickimage && resultCode==RESULT_OK && data!=null && data.getData()!=null)
{
filepath=data.getData();...//rest of code...

PDDocument doc = PDDocument.load(getContentResolver().openInputStream(filepath));//main line

关于android - 在android代码中从PDF获取页数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45622124/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com