iText 7 Java: cERROR com.itextpdf.kernel.pdf.PdfReader - Произошла ошибка при чтении таблицы перекрестных ссылок - PullRequest
0 голосов
/ 28 мая 2020

Я пытаюсь прочитать PDF-файл, скопировать его в новый PDF-файл и добавить в него текст. Мой код приведен ниже. Код сработал, и я получаю новый PDF-файл с новым текстом. Но я получаю эти ошибки и не понимаю их.

```[main] ERROR com.itextpdf.kernel.pdf.PdfReader - Error occurred while reading cross reference table                                                                                                
Cross reference table will be rebuilt. com.itextpdf.io.IOException: Error at file pointer 284,030.
at com.itextpdf.io.source.PdfTokenizer.throwError(PdfTokenizer.java:686)
at com.itextpdf.kernel.pdf.PdfReader.readXrefSection(PdfReader.java:1011)
at com.itextpdf.kernel.pdf.PdfReader.readXref(PdfReader.java:944)
at com.itextpdf.kernel.pdf.PdfReader.readPdf(PdfReader.java:677)
at com.itextpdf.kernel.pdf.PdfDocument.open(PdfDocument.java:1871)
at com.itextpdf.kernel.pdf.PdfDocument.<init>(PdfDocument.java:252)
at com.itextpdf.kernel.pdf.PdfDocument.<init>(PdfDocument.java:234)
at Main.main(Main.java:52)                                                                      
Caused by: com.itextpdf.io.IOException: file position {0} cross reference entry in this xref subsection.
... 8 more```

Мой код:

    try {                                                                                
           //PdfDocument pdfDoc = new PdfDocument(new PdfReader(), new PdfWriter());      
            PdfDocument pdfDoc = new PdfDocument(new PdfWriter("01last.pdf").setSmartMode(true));
            PdfDocument srcDoc = new PdfDocument(new PdfReader("diplome.pdf"));
            srcDoc.copyPagesTo(1, srcDoc.getNumberOfPages(), pdfDoc);

            Document document = new Document(pdfDoc);


            @SuppressWarnings("deprecation")
            PdfFont normal = PdfFontFactory.createFont(FontConstants.TIMES_ROMAN);
            document.setFont(normal);
            Paragraph p = new Paragraph("Esdras ");
            Paragraph p2 = new Paragraph("Maxime ");

            document.showTextAligned(p, 50, 170,1,TextAlignment.LEFT, VerticalAlignment.MIDDLE,-11);
            document.showTextAligned(p2, 300, 170,1,TextAlignment.LEFT, VerticalAlignment.MIDDLE,-11);
            pdfDoc.close();



    } catch (IOException e) {
        e.printStackTrace();
    }

Пожалуйста, нужна ваша помощь. Извините за мой англ sh. Я очень стараюсь учиться :)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...