我正在打开用iText创建的PDF文件。无需在PDF Renderer中打开它,而只需正常打开并关闭它,我就可以删除并覆盖该文件。但是,一旦我使用PDF Renderer将其打开,便会关闭它。我无法删除或替换PDF。

ByteBuffer buf;

...

randomAccessFile = new RandomAccessFile(new File(file), "r");
fileChannel = randomAccessFile.getChannel();
buf = fileChannel.map(FileChannel.MapMode.READ_ONLY, 0, fileChannel.size());
pdfFile = new PDFFile(buf);


然后,这里的代码获取图像并将其放入面板中。

然后关闭以上项目。

它仍然在某个地方打开,但我不知道在哪里,我们将不胜感激。

最佳答案

错误似乎在未显示的其余部分(或关闭fileChannel)中。

PDFFile pdfFile = new PDFFile(new File(file));
PdfReader pdfReader = pdfFile.getPdfReader();
try {
    ...
} finally {
    pdfReader.close();
}

09-25 20:32