Java конвертирует pdf, возвращаемый как Rest API ответ на текст - PullRequest
0 голосов
/ 22 февраля 2019

Я должен использовать API API остальных остатков (/ getconstomerList) из моего кода Java, который возвращает файл PDF.Мне нужно прочитать файл 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();

Но этот код продолжает возвращать мне пустой ответ, я не уверен, что не такили если есть какой-либо другой способ сделать это.Пожалуйста, помогите.

1 Ответ

0 голосов
/ 24 февраля 2019

Для HTTP-звонков я бы порекомендовал Модифицировать библиотеку.Вы можете легко настроить / настроить, предоставив 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();
    }
}

Надеюсь, это поможет.

...