Не удается прочитать PDF-файл размером более 1 ГБ

#c# #winforms #itext

#c# #winforms #itext

Вопрос:

Пытаюсь зашифровать несколько pdf-файлов разных размеров, и я заметил, что в pdfreader он выдает исключение из памяти, если размер pdf составляет около 1 ГБ, есть ли здесь работа? Я считаю, что у меня достаточно места для хранения.

 //Encrypt the pdf  using (Stream input = new FileStream(inputpdfpath, FileMode.Open, FileAccess.Read, FileShare.Read))  {  using (Stream output = new FileStream(outPDF, FileMode.Create, FileAccess.Write, FileShare.None))  {  PdfReader reader = new PdfReader(input);  PdfEncryptor.Encrypt(reader, output, true, pdfpassword, null, PdfWriter.ALLOW_SCREENREADERS | PdfWriter.AllowPrinting | PdfWriter.ALLOW_MODIFY_CONTENTS);  }  }   File.Move(pdffilepath, Path.Combine(WorkingFolder, fileName));// move original files to another folder   File.Copy(outPDF, pdffilepath);// copy temp file (password encrypted) then use original name (temp file should be deleted)  File.SetAttributes(outPDF, FileAttributes.Normal);    

Комментарии:

1. «Я считаю, что у меня достаточно места для хранения». — Это убеждение явно неоправданно. Теоретически у вас может быть достаточно оперативной памяти, но достаточно ли у вас ее на самом деле?

2. У меня установлено 32 ГБ оперативной памяти, разве этого недостаточно? Д: (Я ничего не обрабатываю, кроме этого)

3. Вы создали профиль своего приложения? Существуют ли какие-то настройки, ограничивающие память? Просто потому, что у вас установлено 32 гигабайта, это не значит, что среде выполнения .Net разрешено использовать все это. Хотя я тоже ожидал бы, что у него будет достаточно свободного места, но кто знает …

4. Проект gt; Свойства gt;gt; Вкладка Сборка, снимите флажок «Предпочитаю 32-разрядную версию». Тебе это не нравится.

5. кажется, я не могу найти 32-разрядную версию, но я изменил в диспетчере конфигурации платформу на x64 ( пришлось создать это), так как она была установлена на «Любой процессор». Я заметил, что размер файла с 1,4 ГБ изначально (не зашифрованный) стал 300 МБ (зашифрован с помощью itextsharp) ._. что меня смущает, почему.