1

ExcelファイルのデータでPDFファイルを作成しました。何が起こったのかわかりませんが、1 つの PdfPage を削除して別の場所に挿入しようとすると、「削除するページは既にフラッシュされています」という警告メッセージが表示されました。

使用されるコードは非常に単純です。

PdfDocument pdf = ...;
....
PdfPage page = pdf.removePage(10);
pdf.addPage(1, page);

しかし、警告とエラーが発生しました:

[main] WARN com.itextpdf.kernel.pdf.PdfPage - 削除するページは既にフラッシュされています。スレッド「メイン」での例外 com.itextpdf.kernel.PdfException:flushed.page.cannot.be.added.or.inserted at com.itextpdf.kernel.pdf.PdfDocument.checkAndAddPage(PdfDocument.java:1473) at com.itextpdf .kernel.pdf.PdfDocument.addPage(PdfDocument.java:437)

正直なところ、他の PDF ファイルで上記のコードを試してみましたが、ページを削除したり挿入したりできます。私の PDF ファイルにはどのような理由が考えられますか?

私のアプリケーションで使用される完全なコード:

PdfWriter writer;
PdfDocument pdfDocument;
Document document;
try {
        writer = new PdfWriter(FileConfigurator.getAbsoluteResultFilePath(), 
                new WriterProperties().addXmpMetadata().setPdfVersion(PdfVersion.PDF_1_7));
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    }

//Initialize PDF document
pdfDocument = new PdfDocument(writer);
// Initialize document
document = new Document(pdfDocument);
4

0 に答える 0