Java 如何从contect type中提取文本内容;申请表/pdf";在爪哇

Java 如何从contect type中提取文本内容;申请表/pdf";在爪哇,java,rest,Java,Rest,我使用java的HTTP客户端调用一个RESTAPI,API的内容类型是application/pdf。我捕获了字符串格式的API响应,但字符串内容类似于%PDF-1.5%1 0 obj/Font>>/contents 13 0”。 如何将此响应转换为文本,从中提取所需的数据?我已经使用过,读取输入流解析并获取内容。 另一方面,您可以做的是: 捕获字符串内容 存储在临时文件中 使用pdfbox读取文件 阅读单个页面并处理内容 @GetMapping(“/pdf test”) 公共字符串pdf

我使用java的HTTP客户端调用一个RESTAPI,API的内容类型是
application/pdf
。我捕获了字符串格式的API响应,但字符串内容类似于
%PDF-1.5%1 0 obj/Font>>/contents 13 0”。

如何将此响应转换为文本,从中提取所需的数据?

我已经使用过,读取输入流解析并获取内容。 另一方面,您可以做的是:

  • 捕获字符串内容
  • 存储在临时文件中
  • 使用pdfbox读取文件
  • 阅读单个页面并处理内容
@GetMapping(“/pdf test”)
公共字符串pdfTest()引发IOException、TikaException、SAXException{
最终HttpHeaders=新HttpHeaders();
set(“用户代理”、“堆栈溢出服务器”);
最终HttpEntity=新HttpEntity(标题);
最终字符串testPdf1=”http://www.africau.edu/images/default/sample.pdf";
最终字符串testPdf2=”https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf";
ResponseEntity exchange=restemplate.exchange(testPdf2,HttpMethod.GET,entity,Resource.class);
InputStream pdfInputStream=exchange.getBody().getInputStream();
PDFParser PDFParser=新的PDFParser();
BodyContentHandler=新的BodyContentHandler();
元数据=新元数据();
ParseContext pcontext=新的ParseContext();
parse(pdfInputStream、处理程序、元数据、pcontext);
返回处理程序.toString();
}
}
依赖项如下所示:

compile group: 'org.apache.tika', name: 'tika-core', version: '1.24.1'
compile group: 'org.apache.tika', name: 'tika-parsers', version: '1.24.1'

我们可以将PDF数据捕获到字节数组中,然后将此日期写入.PDF文件,并使用PDFBox API从PDF中获取所需数据。

我更感兴趣的是使用上述响应创建.PDF文件。如何创建.pdf文件以便以后可以使用PDFBox?我无法使用“%pdf-1.5%1 0 obj/Font>>/Contents 13 0”创建有效的.pdf文件。请将响应内容作为输入流加载,并将其传递给pdfbox以实例化pdf文档。在此pdf上使用pdfbox时遇到一些问题。请您将一些hello word PDF数据复制成“%PDF-1.5%1 0 obj/Font>>/CONTECTS 13 0”等格式。然后使用PDFBox从中获取内容?我尝试将此内容保存到.pdf文件中,但无法使用任何pdf阅读器打开pdf。请将一些hello word pdf数据复制到“%pdf-1.5%1 0 obj/Font>>/contents 13 0”格式。然后尝试从中获取内容?我尝试将这些内容保存到.pdf和.txt文件中,但无法使用任何pdf阅读器解析或打开pdf。可以与我共享pdf吗?