Я пытаюсь использовать сервер 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, это возможно?