1
안녕하세요 저는 서블릿에 의해 업로드되는 PDF 파일을 읽으려고합니다. PDF 헤더 서명 찾을 수 없습니다PDF 헤더 서명을 찾을 수 없습니다, iText
여기 내 PDF 파일이 %처럼 시작하는 코드
//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-1.6
이 오류 메시지가 때 java.io.IOException이다.
해결책을 찾았습니다. PDFReader는 item.openstream()에서 가져온 입력 스트림 만 사용합니다. ByteArrayInputStream과 같은 것으로 변환하면 예외가 throw되기 시작합니다. 따라서 파일을 업로드 할 때 얻는 입력 스트림 만 제공하십시오. –
물론 PDF 바이트를 포함하는 바이트 배열을 사용하여 PdfReader 객체를 구성 할 수도 있습니다. ByteArrayInputStream을 만들 필요가 없습니다. –