gpt4 book ai didi

Java 将作为 Rest API 响应返回的 pdf 转换为文本

转载 作者:太空宇宙 更新时间:2023-11-04 09:50:28 24 4
gpt4 key购买 nike

我必须从返回pdf文件的java代码中使用rest api API(/getconstomerList)。我需要读取 PDF 文件并将其转换为字符串。

我尝试用 tika 来做这个

BodyContentHandler handler = new BodyContentHandler(10 * 1024 * 1024);
Metadata metadata = new Metadata();
URL url = new URL("http://" + hostName + uri);
BufferedInputStream inputstream = new BufferedInputStream(url.openStream());
Parser parser = new AutoDetectParser();
parser.parse(inputstream, handler, metadata, pcontext);
return handler.toString();

但是这段代码一直返回空响应,我不确定出了什么问题或者是否有其他方法可以做到这一点。请帮忙。

最佳答案

对于 HTTP 调用,我建议 Retrofit图书馆。您可以通过提供 interface 轻松设置/配置包含 API 方法。其中一种方法将返回 Call<ResponseBody>从中得到ResponseBody使用它你可以获得 InputStream 。使用它,您可以将流转换为文件,并用它做您想做的事情。下面是示例代码。

String downloadFileAndReadAsString(ResponseBody responseBody, Path filePath) {
try (InputStream inputStream = responseBody.byteStream()) {
Path downloadedFilePath = Files.copy(inputStream, filePath,
StandardCopyOption.REPLACE_EXISTING);
return new String(Files.readAllBytes(downloadedFilePath));
} catch (IOException ex) {
ex.printStackTrace();
}
}

希望有帮助。

关于Java 将作为 Rest API 响应返回的 pdf 转换为文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54821214/

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