繁体   English   中英

如何通过覆盖IText中的原始文件来更改现有PDF的PDF版本?

[英]How to change PDF Version of existing PDF by overwriting original file in IText?

我有以下代码来更改pdf文件的pdf版本。 我不想在末尾有第二个文件,而是希望直接更新原始文件的pdf版本。 因此,我的读写PDF相同:

WriterProperties wp = new WriterProperties();
wp.setPdfVersion(PdfVersion.PDF_1_6);
PdfDocument pdfDoc = new PdfDocument(new PdfReader("orig.pdf"), new PdfWriter("orig.pdf", wp));
pdfDoc.close();

但是通过这样做,我得到了一个错误A fatal error has been detected by the Java Runtime Environment: .... Failed to write core dump. Core dumps have been disabled. A fatal error has been detected by the Java Runtime Environment: .... Failed to write core dump. Core dumps have been disabled.

所以我想我不能以这种方式在同一文件上读写。 还有另一种方法吗? 我正在使用IText 7 for Java

你不能 根本无法同时读取和写入相同的PDF文件。 必须写入一个临时文件。 您的临时文件也可以是内存流,而不必是磁盘上的文件。 但是您必须先关闭原始文件,然后才能对其进行写入。

请记住,如果代码中出现问题,则原始文件将被销毁。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM