itextsharp создание поврежденного / пустого файла PDF, файла i-9 - PullRequest
0 голосов
/ 15 декабря 2010

Я использовал Itextsharp для предварительного заполнения заполняемых PDF-файлов на страницах .aspx.Но когда я пытаюсь сделать то же самое с файлом i-9 (загруженным из департамента внутренней безопасности), он дает мне файл размера 0, который не может быть открыт (я получаю сообщение об ошибке, сообщающее, что он поврежден).

Я просто копирую фрагмент кода (у меня есть все необходимые ссылки Itestsharp в моем решении), который генерирует поврежденный файл PDF (размер 0)

string pdfTemplate = @"c:\PDF\i-9.pdf";
  string newFile = @"c:\PDF\completed_i-9.pdf";
  PdfReader pdfReader = new PdfReader(pdfTemplate);
  PdfStamper pdfStamper = new PdfStamper(pdfReader, new FileStream(
                                                               newFile, FileMode.Create));
  pdfStamper.Close();

Однако, если ясделайте то же самое с любым другим PDF-файлом, например w4, он работает отлично.Любая идея, ребята, что здесь происходит не так?

Спасибо

1 Ответ

0 голосов
/ 15 декабря 2010

Ах. отследив PDF , я вижу проблему.У него пустой открытый пароль, но, тем не менее, есть некоторая безопасность документа.

Реализация безопасности iText не достаточно детализирована (пока), чтобы разрешить некоторые вещи, а не другие, поэтому мы вызываем исключение, когда выоткройте защищенный паролем PDF-файл (открытый пароль для этого PDF-файла - пустая строка, которая открывается автоматически, но она все еще там), если только вы не открываете ее с помощью пароля ВЛАДЕЛЬЦА, в этом случае ничего не происходит.

Если выпроверьте свои журналы, вы увидите исключение.

Только Homeland Security знает пароль владельца, и я сомневаюсь, что они скажут вам.Хорошая новость заключается в том, что кто-то еще задал более конкретный вопрос: «Как я могу использовать iText для изменения файла с вопросом типа« открытый »пароль» и выяснил это для себя ».

Однако, используя свой ответ, юридическиСомнительно, поэтому я не собираюсь предоставлять ссылку или сообщать вам ответ (который я уже знал и не говорил другому спрашивающему).

...