Nous essayons de passer d'iText 5 à iText 7 et avons vu quelques problèmes. Je reçois une exception en tant que "com.itextpdf.io.IOException: PDF startxref introuvable". inside PdfReader # readPdf() et enfin dans la méthode appelant obtenant une exception comme "com.itextpdf.kernel.PdfException: Trailer not found.".iText 7 - com.itextpdf.io.IOException: PDF startxref non trouvé
Mon cas d'utilisation crée par exemple PdfReader en utilisant inputSream puis créer PDFDocument du lecteur et en passant PdfWriter comme parameter.We constructeur tentent de modifier pdf existant, l'exemple de code est comme ci-dessous
PdfReader pdfReader = new PdfReader(inputStream);
pdfReader.setUnethicalReading(true);
ByteArrayOutputStream os = new ByteArrayOutputStream();
PdfDocument pdfDocument = new PdfDocument(pdfReader, new PdfWriter(os));
Can quelqu'un, s'il vous plaît suggérer ce que je fais mal et comment nous pouvons résoudre ce problème. Nous avons une méthode utilitaire qui écrit le flux de sortie et crée une nouvelle pièce jointe au format PDF.
D'où vient l'entrée «inputStream»? Êtes-vous sûr de lire un fichier PDF correct (c'est-à-dire que vous pouvez l'ouvrir avec un outil PDF Viewer disponible)? Pouvez-vous partager un exemple de fichier PDF avec lequel vous avez des problèmes? –
Dit simplement que les messages d'erreur signifient que votre 'InputStream' n'est pas positionné au début d'un pdf. C'est à dire. soit il n'y a pas de pdf valide ou le flux est déjà lu (partiellement ou complètement). – mkl
@ Alexy- Le pdf est joint en pièce jointe à une table existante, nous avons une API par laquelle nous lisons la pièce jointe en tant que InputStream. Je suppose que le pdf qui était en train d'être créé était corrompu. J'ai besoin de regarder dans ce code comment je définis les valeurs dans les champs Pdf. –