Как странно. PDF-версии в основном являются предложением. PDF-файлы должны начинаться с чего-то вроде:
%PDF-1.x
Где Х 0,1,2, ...
Это просто ключ к приложению, которое читает PDF. Единственная подсказка. Большинство запросов «Мне нужна версия X», которые я вижу от разных клиентов, являются поддельными. Мои знакомые программисты iText знают это, поэтому мне кажется странным, что iText запрашивает другую версию.
Вы уверены, что iText запрашивает v5?
В любом случае, чтобы ответить на ваш вопрос:
Да, iText может изменить номер версии PDF. К сожалению, это можно сделать только при записи PDF-файла, а не при его чтении. Вам придется открыть PDF-файл, изменить его версию и снова сохранить.
Возможно, вы могли бы обмануть. Считайте PDF-файлы в байтовые массивы и pdfBytes[7] = 4;
, затем передайте эти байты в PdfReader
.
Версия 1 спецификации PDF - 1.0
Версия 2 1.1
...
Так что если вы хотите pdf версию 5, вам нужно написать «1.4», а не «1.5».
Если вам неудобно воткнуть такой байт, вы можете проанализировать весь PDF, изменить версию, а затем записать все заново:
PdfReader reader = new PdfReader(pdfPath);
PdfStamper stamper = new PdfStamper(reader, outputStream);
stamper.setPdfVersion(PdfWriter.PDF_VERSION_1_4);
stamper.close();
Затем вы прочитаете его снова и объедините, как и раньше.