1
嗨我正在尝试阅读由servlet上传的PDF文件。未找到PDF头标签,iText
下面是代码
//out = byte array
out = readInItem(item);
fileToUpload = new ByteArrayInputStream(out.toByteArray());
Map<String, AcroFields.Item> pdfBoxNames = new HashMap<String, AcroFields.Item>();
PdfReader reader = new PdfReader(fileToUpload);
ByteArrayOutputStream os = new ByteArrayOutputStream();
PdfStamper stamper = new PdfStamper(reader, os);
AcroFields acroFields = stamper.getAcroFields();
pdfBoxNames = acroFields.getFields();
我的PDF开始喜欢这个PDF%,1.6
的错误消息 产生java.io.IOException:找不到PDF头标识。
我找到了解决方案。 PDFReader只接收从item.openstream()获得的输入流;如果你把它转换成像ByteArrayInputStream这样的东西,它会开始抛出异常。因此,只需提供从上传文件时获得的输入流。 –
你当然也可以用包含PDF字节的字节数组构造PdfReader对象。您不需要创建ByteArrayInputStream。 –