我正在尝试使用Spring服务器来接受用户从HTML表单上载的PDF文件,对其进行一些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进行此处理,这可能吗?