Как создать несжатый файл PDF?

1

Неортодоксальный вопрос. :-) Во время тестирования разработки я предпочел бы создавать несжатые, не двоичные PDF файлы с iTextSharp, чтобы я мог легко проверить их внутренности. Я всегда могу преобразовать готовый PDF с различными утилитами, но это делает дополнительный шаг, который было бы удобно избежать. Есть несколько мест (например, PdfImage), где я могу определить уровень сжатия, но я не мог найти ничего о сжатии, используемом для вывода отдельных PDF-объектов в поток. Считаете ли вы, что это возможно с iTextSharp?

Теги:
itextsharp

1 ответ

4
Лучший ответ

У вас есть два варианта:

[1.] Отключить сжатие для всех ваших документов сразу:

Взгляните на класс Document. Ты найдешь:

public static bool Compress = true;

Если вы измените этот static bool на false, потоки синтаксиса PDF не будут сжаты.

Конечно: изображения будут де-факто сжаты. Например: если вы добавляете JPEG в свой документ, вы добавляете изображение, которое уже сжато, и iText не будет его распаковывать.

[2.] Отключение сжатия для одного документа за раз:

PdfWriter класс PdfWriter. Ты найдешь:

protected internal int compressionLevel = PdfStream.DEFAULT_COMPRESSION;

Если вы измените значение параметра compressionLevel на PdfStream.NO_COMPRESSION перед открытием документа, ваши потоки синтаксиса PDF не будут сжаты.

  • 0
    Да это оно. Благодарю.
  • 0
    Кажется, это должно быть Deflater.NO_COMPRESSION сейчас (из java.util.zip.Deflater ).

Ещё вопросы

Сообщество Overcoder
Наверх
Меню