Библиотека быстрого сжатия PDF для .NET - PullRequest
9 голосов
/ 04 августа 2009

Мне нужна быстрая библиотека сжатия PDF для .NET, которая позволит мне запускать 10 одновременных потоков, каждый из которых сжимает отдельный файл PDF примерно до 10% от его исходного размера. Какие-либо предложения? (Я уже опробовал продукт с neeviaPDF.com. Он не такой быстрый, как мне нужно.)

Ответы [ 3 ]

2 голосов
/ 04 августа 2009

Веб-сайт компании показывает три примера - один сжимает PDF с 9,1 МБ до 133 КБ. Если открыть их с помощью Блокнота, вы увидите одно черное изображение размером 2500x3000, сжатое с помощью FlateDecode, преобразованное в изображение того же размера, сжатое в формате JPEG2000. Этот вид степени сжатия, вероятно, является наилучшим сценарием. Два других примера более разумны; 741–349 КБ и 940–804 КБ. Они также включают в себя скриншот настроек; один проверенный во всех трех примерах содержит предупреждение: «ОЧЕНЬ МЕДЛЕННО !!!» Похоже, хороший продукт, хотя. Он делает все правильно, включая веб-оптимизацию.

10% оригинала маловероятно, если только содержимое ваших PDF-файлов не известно заранее, много изображений, и вы вручную пишете решение с помощью iTextSharp, чтобы воспользоваться преимуществами способа объединения PDF-файлов.

Если вам нравится, как работает ваш компонент, и он не является поточно-ориентированным, почему бы просто не создать с ним 10 отдельных процессов? Если у вас много больших изображений, будьте осторожны с ошибками нехватки памяти.

0 голосов
/ 19 сентября 2011

Morovia PDFLeo способен сжимать PDF в небольшой размер. Он использует два основных метода - сжатие потоков данных и потоков объектов. В соответствии с руководством :

  • Удаление неиспользуемых объектов. Неиспользованные объекты будут сброшены. Если PDF производится путем инкрементного обновления, многие объекты не нужны. Инкрементное обновление - это функция, позволяющая обрабатывающему приложению добавить изменения в конец файла, не удаляя предыдущий объект определения. Этот метод уменьшает использование памяти за счет больший размер файла.
  • Написание объектов в компактном синтаксисе. PDFLeo пишет вывод с использованием компактного синтаксиса лишние пробелы удаляются. Шестнадцатеричные строки записываются с более компактным двоичным представления.
  • Сжатые потоки. Когда указано, pdfleo сжимает все потоки, кроме тех, которые должны быть сохранены.
  • Объектные потоки. не объекты потока могут быть помещены в специальный поток объекта и сжатая.
0 голосов
/ 29 июня 2011

Попробуйте Apago PDFshrink. Это коммерческий продукт, поддерживающий сжатие PDF с использованием многоядерных процессоров.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...