ABCPdf использует много памяти и генерирует огромные файлы.Решение? - PullRequest
2 голосов
/ 17 декабря 2010

У меня есть система для создания книги в формате PDF из собственных изображений пользователей.Изображения имеют высокое разрешение, и PDF-файл в итоге содержит около 70 страниц с изображениями на большинстве из них.

При создании PDF-файла в локальном приложении на сервере процесс использует около 3 Гб оперативной памяти, что приводит к сбоючаще всего это удается.Файлы также действительно огромные, около 1,2 Гб.Запуск его через печать в pdf уменьшит его в сто раз.

Есть ли способ заставить ABCPdf использовать меньше памяти и создавать файлы меньшего размера?

Ответы [ 3 ]

1 голос
/ 17 декабря 2010

Я не использовал ABCPdf напрямую, но подозреваю, что изображения являются источником ваших проблем, измените их размер, прежде чем они будут включены в объекты PDF. Я подозреваю, что это будет процесс печати в PDF.

1 голос
/ 22 ноября 2011

Еще одно примечание: для очень больших PDF вы можете установить «linearize» в false.

        <pdfDoc.SaveOptions.Linearize = false;>

Это оптимизирует PDF для потоковой передачи в Интернете, поэтому, если вы используете потоковую передачу PDF, вы можете оставить ее как истину, но я обнаружил, что она резко увеличивает объем памяти, используемой ABCPDF во времясохранить.

1 голос
/ 17 декабря 2010

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

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

Либо повторно используйте изображение, если они повторяют логотипы верхнего / нижнего колонтитула, либо выпускайте изображения на ходу.
Скорее всего, это проблема, с которой вы сталкиваетесь, но у меня нет опыта работы с ABCPdf.

...