当前位置: 首页 > 知识库问答 >
问题:

有没有办法从Dropbox文件系统中的pdf中提取文本?

谭正谊
2023-03-14

我正在做一个项目,需要遍历文件系统,从pdf中提取文本,然后扫描文本。以前,文件系统是一个N驱动器(充当本地文件系统),因此使用java文件API,我可以访问每个pdf文件。使用此方法,我将提取文本:

public static String returnStringOfPDFiText(File file)
    {
        try {
        PdfReader reader = new PdfReader(file.getPath());
        int n = reader.getNumberOfPages();
        String pdfText = null;
        for(int i = 1; i<=n; i++)
        {
            pdfText += PdfTextExtractor.getTextFromPage(reader, n);
        }
        reader.close();
            System.out.println(pdfText);
            
            
            return pdfText;
        }
        catch(Exception e)
        {
            System.out.print(e);
            return null;
        }
        
    }

从这里,我可以扫描文本。

我现在需要这样做,但使用dropbox文件系统。但是,我只能找到一种方法来获取每个文件的元数据,而不是实际的文件,因此我可以提取文本。

有没有办法获取文件,以便我可以在文件上调用此方法来提取文本,或者直接从Dropbox文件中提取文本?

编辑:我已经在使用DropboxAPI了(虽然我可能缺少一些方法,但我还没有阅读很多留档)。我知道下载方法,但我不想使用它,因为我们将使用大约1 gb的pdf,下载它会非常低效。

共有1个答案

尤博达
2023-03-14

Dropbox确实提供了一个API,可以用于列出、上传和下载文件以及其他操作。您可以在此处找到开始使用Dropbox API所需的一切,包括文档、教程和SDK:

https://www.dropbox.com/developers

具体Java,我们建议您使用官方DropboxJavaSDK:

https://github.com/dropbox/dropbox-sdk-java

要使用该方法下载文件内容,可以使用下载方法:

https://dropbox.github.io/dropbox-sdk-java/api-docs/v5.2.0/com/dropbox/core/v2/files/DbxUserFilesRequests.html#download(java.lang.String)

你可以在这里找到一个例子:

https://github.com/dropbox/dropbox-sdk-java/blob/e52fc828c7c753e04c3fa9d47ab6de7e85d000c4/examples/tutorial/src/main/java/com/dropbox/core/examples/tutorial/Main.java#L54

 类似资料:
  • 我想读取Dockerfile中的变量,该变量在文件中定义。有什么办法可以做到这一点吗? 这是我的DockerFile:

  • 问题内容: 我有一个文件,称之为。 有没有一种方法可以“读取”其中的内容,并获取其中的所有类的列表作为完整的类名,包括其包,例如? 我在考虑,但是似乎找不到用于检索整个类集的方法。 问题答案: 您可以将dexlib2库用作独立库(在maven中可用),以读取dex文件并获取类列表。 请注意,类名将采用“ Ljava / lang / String;”的形式,这就是它们如何存储在dex文件(和Jav

  • 问题内容: 我正在尝试使用提取此 PDF文件中包含的文本。 我正在使用PyPDF2模块,并具有以下脚本: 运行代码时,得到以下输出,该输出与PDF文档中包含的输出不同: 如何提取PDF文档中的文本? 问题答案: 要从PDF提取文本,请使用以下代码

  • 我正在尝试从PDF中提取文本(https://www.sec.gov/litigation/admin/2015/34-76574.pdf)使用PyPDF2,我得到的唯一结果是以下字符串: 这是我的代码: 这段代码在我正在使用的一些PDF上正常工作(例如。https://www.sec.gov/litigation/admin/2016/34-76837-proposed-amended-dist

  • 我正在从一个PDF文档中提取文本。这个PDF是使用一个从AS400读取数据的WS生成的。所以打印文本时,输出是这样的: 和«VS123»,«VS124»是AS400中的变量。Java APi无法从变量中读取值,无法打印变量名而不是变量值。 我用的是PDFBoxhttps://pdfbox.apache.org/提取文本。代码源如下: 输出从以下错误堆栈开始: 避免:字体为ArialMT 2017年

  • 我正在创建从URL加载顺序mp3文件的应用程序。当我尝试在完成第一个mp3文件时初始化下一个mp3文件,但问题是,当第一个文件完成时,播放器需要时间来准备或初始化下一个mp3文件,是的,我知道这是媒体播放器的一部分,它需要时间准备(对于它可能很长,对于相对排序时间)。 但是,我需要的是,当第一个mp3文件完成播放时,下一个mp3文件(来自url)不应该花费时间来准备,因为它应该在不中断的情况下播放