PDF en-tête de la signature n'est pas trouvé, iText
Salut, je suis en train de lire un fichier PDF qui est en cours d'envoi par la servlet.
Voici le code
//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();
Mon pdf commence comme cette %PDF-1.6
Message d'erreur est
java.io.IOException: PDF-tête de signature not found.
- J'ai trouvé la solution. PDFReader ne prend que le inputstream que vous obtenez à partir de l'article.openstream(); si vous les convertir en quelque chose comme ByteArrayInputStream il commencera à lancer des exceptions. Donc, ne donnent qu'un inputstream que celui que vous obtenez lorsque vous téléchargez le fichier.
- Vous pouvez bien sûr également construire la PdfReader objet avec le tableau d'octets contenant le PDF octets. Vous n'avez pas besoin de créer le ByteArrayInputStream.
Vous devez vous connecter pour publier un commentaire.
Face à la même exception! Assurez-vous d'avoir inclus le
TableHeader
et un écrivainPageEvent
ensemble pour que. J'ai juste ajouté, et cette exception a disparu! Espérons qu'il vous aide