Генерация PDF без PHP

// Май 4th, 2012 // Веб-разработка

В этом посте я расскажу, как быстро сгенерировать pdf файлы на основе данных из БД. При этом мы не будем использовать zf, php и другие технологии веб-разреботки. Мы даже не напишем ни строчки кода.

 

Задача

Имеется произвольная БД, в таблицах которой хранятся нужные нам данные. На основе этих данных нужно сгенерировать множество PDF-файлов. Есть два пути. Первый путь — это подгружать данные в php, создавать объект pdf через одну из библиотек и генерировать их практически в ручном режиме.

Решение

Я уже думал так и сделать, когда придумал второй способ. Схематично он выглядит так:

MySQL -> csv -> xls —(слияние doc-шаблона с xls)—> печать -> doPdf -> несколько pdf -> слияние pdf в одну -> расшепление pdf на по страницам -> множество pdf-файлов

По шагам это будет выглядеть так:

1. Экспортируем нашу таблицу с помощью PhpMyAdmin в csv формат

2. В Excel открываем csv и сохраняем его в xls. Первая строка = название колонок.

3. Ставим программку doPdf, которая позволит «печатать» из Word в Pdf файлы.

4. В Word создаём шаблон нашей будущей pdf-ки. Рисуем обрамление, фон и т.д.

5. С помошью мастера слияние (Сервис->Письма и рассылки->Слияние) подключаем наш xls файл как источник данных (т.н. список), фильтруем записи по полям, и готовим документ.

6. Сервис->Письма и рассылки->Показать панель инструментов слияния

7. На панели кликаем на иконку «Слияние при печати» и печатаем документы на принтере doPdf по частям (не более 100 страниц), а то если больше 100, то он генерит невалидную pdf. Если у вас меньше сотни, можете пропустить следующий шаг.

8. Генеримpdf для второй и n-ой сотни страниц (аналогично п.7.).

9. Делаем слияние получившихся pdf с помщью программы Vertex PDF Splitter and Merger 4.0 в один файл.

10. Делаем расшепление получившийся pdf с помощью программы CoolUtils PdfSplitter.

11. Всё готово.

 

Share

Спасибо!


Если вам помогла статья, или вы хотите поддержать мои исследования и блог - вот лучший способ сделать это:


4 Responses to “Генерация PDF без PHP”

  1. Николай:

    А как же автоматизация процесса? =)

    • google.com Андрей Токарчук:

      Ну если это надо делать много и часто, то увы такой способ — не лучший, и всё-таки придётся кодить :-)

  2. Алексей:

    В pma ведь есть экспорт в PDF, к чему такие сложности?

Комментировать