PHP создание PDF
Есть неплохие статьи по созданию PDF средствами PHP используя библиотеку FPDF:
- cоздание PDF-файлов с помощью PHP и FPDF: http://tmbu.info/how-to-create-pdf-files-with-php-and-fpdf/;
- генерация PDF с помощью PHP: http://www.rushelp.com/articles.php?article=3
Официальный сайт библиотеки FPDF: http://www.fpdf.org/
Скачать можно ZIP архив v1.53 (2004-12-31) по этой ссылке http://www.fpdf.org/en/dl.php?v=153&f=zip
Что мне сразу же не понравилось в библиотеке FPDF - это то, что библиотека не поддерживается и не обновляется с 2005 года. А за 4 года, полагаю много новых алгоритмов можно было разработать и создать, для облегчения работы с PDF-файлами.
Немного почитав в форумах, обнаружил еще один большой для меня минус библиотеки FPDF - это отсутствие поддержки UTF-8. Может я и не прав, но во всяком случае, очень много людей жаловались на эту проблему.
Библиотека TCPDF
Нашел я на просторах Internet такую замечательную библиотеку как TCPDF
Дата последнего релиза: TCPDF 4.0.012 released 24 июля 2008TCPDF является Open Source PHP-класс для генерирования документов.
TCPDF Проект был начат в 2002 году и в настоящее время библиотеку свободно используют во всем мире миллионы людей. TCPDF является свободной (бесплатной) Libre Open Source Software (FLOSS).
Основные особенности:
- no external libraries are required; внешние библиотеки не требуются;
- supports all ISO page formats; поддерживает все форматы ISO странице;
- supports UTF-8 Unicode and Right-To-Left languages; поддерживает UTF-8 Unicode и справа налево языки;
- supports document encryption; поддерживает шифрование документа;
- includes methods to publish some HTML code; включает в себя методы опубликования некоторого HTML код;
- includes graphic and transformation methods; включает в себя графический и трансформационные методы;
- includes bookmarks; включает в себя закладки;
- includes Javascript and forms support; включает Javascript и формы поддержки;
- includes a method to print various barcode formats; включает в себя метод для печати штрих-кодов различных форматах;
- supports TrueTypeUnicode, TrueType, Type1 and CID-0 fonts; поддерживает TrueTypeUnicode, TrueType, Type1 и CID-0 шрифты;
- supports custom page formats, margins and units of measure; поддерживает пользовательские страницы форматов, единиц измерения;
- includes methods for page header and footer management; включает в себя методы для заголовка страницы и нижнего колонтитула управления;
- supports automatic page break; поддерживает автоматический разрыв страницы;
- supports automatic page numbering and page groups; поддерживает автоматическую нумерация страниц и групп;
- supports automatic line break and text justification; поддерживает автоматическую линию-перехода и выравнивание текста;
- supports JPEG and PNG images whitout GD library and all images supported by GD: GD, GD2, GD2PART, GIF, JPEG, PNG, BMP, XBM, XPM; поддерживает JPEG и PNG изображений whitout GD библиотекой, и все образы поддерживается GD: GD, GD2, GD2PART, GIF, JPEG, PNG, BMP, XBM, XPM;
- supports stroke and clipping mode for text; поддерживает режим обрезки текста;
- supports clipping masks; поддерживает обрезку масок;
- supports Grayscale, RGB and CMYK colors and transparency; поддерживает Grayscale, RGB и CMYK цвета и прозрачности;
- supports links; поддерживает ссылки;
- supports page compression (requires zlib extension); поддерживает сжатие страницы (требует zlib расширение);
- supports user rights management so Adobe Reader users can save filled-in copies of forms they complete. поддерживает управление правами пользователей Adobe Reader поэтому пользователи могут сохранять заполненные в копии формы их завершения.
Примеры PHP скриптов и самих PDF: http://www.tecnick.com/public/code/cp_dpage.php?aiocp_dp=tcpdf_examples
Скачать скрипты для PHP4 и PHP5 можно отсюда http://sourceforge.net/project/showfiles.php?group_id=128076
Немного попользовавшись библиотекой хочу дать пару советов.По умолчанию в библиотеке включен вывод заголовка (header) и подвала (footer). Чтобы отключить их при генерации PDF, необходимо прописать следующий код:
$pdf->setPrintHeader(false); $pdf->setPrintFooter(false);
Чтобы установить границы страницы (слева, сверху, справа), воспользуйтесь методом:
$pdf->SetMargins(8, 8, 8);
Чтобы установить нижнюю границу:
$pdf->SetAutoPageBreak(TRUE, 8);
Надеюсь, что эта информация будет полезна для начинающих PDF разработчиков. Мне она понадобилась при создании кроссплатформенных отчетов, а этого можно достичь только путем создании PDF документа, потому что только PDF документ печатается на всех принтерах одинаково.
Читайте ещё похожие статьи на этом сайте:
Если Вам понравилась эта статья, пожалуйста оставьте свой комментарий или подпишитесь на RSS-канал и получайте в будущем статьи на RSS Reader.




Спасибо, сам пользовался на проектах fpdf и намучился с ней выше крыши. Теперь будет более качественный open source!
… доходим до русских шрифтов и начинается ППЦ..
Указано что tcpdf поддерживает шифрование документов, не могли бы подсказать синтаксис?
Светлана, пример шифрования можно посмотреть прямо у них на сайте, в Examples:
http://www.tecnick.com/pagefiles/tcpdf/example_016.phps
Загляните в код и почитайте комментарий.
А вообще библиотека мне эта очень понравилась в работе. На основе нее я создал сервис по генерации платежных поручений в PDF:
http://alunel.com
Не доводилось сталкиваться с задачей – чтение pdf документа-шаблона, затем его редактирование (удаление одних элементов, добавление других) и сохранение результирующего pdf. Все это силами PHP. Как решать такую задачу не подскажите?
Здравствуйте. Могли бы Вы выложить русские шрифты для этого класса. Никак не получается .php файлы получить нужные для Arial.
Подскажите, можно ли решить такую задачу:
есть pdf-документ. нужно взять из него первую страницу и сделать из нее jpg. Заранее спасибо
Я думаю, что можно! Вот только не знаю какими средствами это делать. Никогда не сталкивался с такими задачами.
Но примерно понимаю, для чего это нужно. Например, для организации превьюшек каталога электронных книг или журналов и др. документов.
Вот эти ребята setasign.de/products/ сотворили чудеса… Все написано на чистом PHP и работает, в т.ч. с новыми форматами PDF и с русскими буквами – я брал у них демку и тестил. Но дорого!!! Если теоритически кто-то сможет корректно снять с их файлов ограничение по времени использования – пишите, готов заплатить! Мне даже не нужен исходный код – пусть просто работает бесконечно долго!!!
shachneff собака gmail.com
TCPDF – это модернизация FPDF!