izwerg: вариант 1: нагенерировать сразу кучу pdf
вариант 2: генерировать по запросу. От сотни-другой клиентов в минуту ничего серверу не будет! А больше у вас вряд ли будет клиентов.
я понимаю, задачи разные бывают.
1. все хотят свежие репорты, никто не хочет вчерашние, поэтому они генерируются по запросу.
2. для построения репорта, нужно вытянуть все данные из БД, сгенерировать большой PDF, отгрузить его клиенту.
расход CPU на генерирование PDF - это раз,
расход RAM - это два,
при передаче по сети, PDF будет гораздо тяжелее JSON - это три.
зачем на сервере все эти ужасы. гораздо проще передать JSON на клиент и там быстренько построить PDF и тут же показать. тем более, можно на лету многие вещи настраивать будет, которые не требуют перевыборки из базы. а сервер должен сосредоточиться на оптимальной выборке из бд, кешировании и предоставлении чистых данных. тем более, из этих данных на клиенте можно на выбор предлагать PDF/XLS/CSV/etc
как может pdf, который содержит стили, координаты, описания шрифтов и прочую вспомогательную информацию, быть больше чистой структурированной информации (плюс кавычки и скобки json)?