Как преобразовать MultipartFormDataInput в объект File - PullRequest
0 голосов
/ 16 мая 2019

Я пытаюсь использовать сервер Spring, чтобы принять файл PDF, загруженный пользователем из формы HTML, выполнить некоторую обработку zxing и вернуть файл JSON.

В настоящее время я запускаю этотоднако, чтобы отправить данные файла в метод, вся моя обработка выполняется для объекта File.

  @POST
  @Path("/decode")
  @Consumes(MediaType.MULTIPART_FORM_DATA)
  @Produces(MediaType.APPLICATION_JSON)
  @ResponseBody
  String decodeBarcode(@RequestParam("file") MultipartFormDataInput multipartFormDataInput) throws IOException;

Код обработки

 //In the case the chosen file is a PDF
      String rawText = "";
      PDDocument doc = PDDocument.load(file);
      List pages = doc.getDocumentCatalog().getAllPages();
      Iterator iter = pages.iterator();
      while (iter.hasNext()) {
        PDPage page = (PDPage) iter.next();
        Map pageImages = page.getResources().getXObjects();
        if (pageImages != null) {
          Iterator imageIter = pageImages.keySet().iterator();
          File toScan = new File("test.png");

          while (imageIter.hasNext()) {
            String key = (String) imageIter.next();
            PDXObjectImage barcode = (PDXObjectImage) pageImages.get(key);
            barcode.write2file(toScan);

            BinaryBitmap bitmap = getBinaryBitmap(toScan);
            try {
              Result result = new PDF417Reader().decode(bitmap);
              if (result.getText().substring(result.getText().length() - 3).equals("EOD")) {
                rawText += result.getText();
              } else {
                rawText = result.getText() + rawText;
              }
            } catch (Exception e) {
            }
          }
          toScan.delete();

Я хотел бы иметь возможность сделатьэто обработка на введенном PDF, это возможно?

...