Формирование pdf документа с помощью php. Создаем документ PDF из PHP скрипта с помощью библиотеки FPDF. Создаем строки с данными

  • Перевод

Большинство web-сервисов экспортируют данные в разных форматах для дальнейшего использования. Данная статья о том, как экспортировать данные в pdf-формате.
Хотя многие знают как это делать, я опишу кратко для тех кто не знает.

PHP позволяет нам генерировать файлы в формате pdf налету. FPDF - это бесплатный код на языке php, позволяющий создавать документы в формате pdf и производить с ними различные манипуляции.

PDFlib
PHP API содержит большое количество функций для работы с PDF, реализованных на базе PDFlib . Несмотря на это, данная библиотека не является бесплатной для коммерческого использования. Бесплатная версия называется PDFlib Lite и бесплатная для персонального использования, однако она ограничена в функциональности. Для того чтобы использовать полную библиотеку PDFlib необходимо купить лицензию.

Почему FPDF?
Альтернатива - это использование FPDF, бесплатный класс содержащий большое количество функций для создания и манипулирования PDF-документами. Ключевое слово для данного момента - это ее бесплатность. Вы можете скачать, использовать и модифицировать данный класс как вам заблагорассудится. В дополнение к бесплатности, эта библиотека намного проще, чем PDFlib. Для использования PDFlib необходимо установить ее как расширение к PHP, в то время как FPDF может быть подключена в программу напрямую.

Создание документов PDF
Для того чтобы начать, необходимо скачать код FPDF с сайта FPDF Web site и включить в программу. Например, вот так


Ниже пример использования библиотеки для генерации простого PDF.
Мы создадим новый объект FPDF:

Конструктор FPDF принимает следующие параметры
  • Ориентация страницы (P or L) книжная или альбомная
  • Размерность (pt,mm,cm или in)
  • Размер документа (A3, A4, A5, Letter and Legal)
Далее мы установим некоторые свойства документа
$pdf->SetAuthor("Lana Kovacevic");
$pdf->SetTitle("FPDF tutorial");
Так как в данном примере мы используем одинаковый шрифт для всего документа, мы устанавливаем его до создания страницы
$pdf->SetFont("Helvetica","B",20);
$pdf->SetTextColor(50,60,100);
У функции SetFont 3 параметра; название шрифта, стиль и размер. Мы используем Helvetica, жирный и 20 пунктов, мы будем использовать его для заголовка документа.
Вы можете использовать любой другой шрифт, используя функцию AddFont.
Используя функцию SetTextColor, мы устанавливаем цвет шрифта для всего документа. Цвет может быть представлен в RGB или grey scale. В данном примере мы используем RGB-значения.
Теперь когда главное сделано, приступим к созданию страниц.
$pdf->AddPage("P");
$pdf->SetDisplayMode("real","default");
В функцию AddPage () можно передать параметры «P» или «L» для указания ориентации страницы. Функция SetDisplayMode определяет как будет отображена страница. Вы можете определить параметры увеличения и разметки. В примере мы используем 100% увеличение и разметку по умолчанию, определенную в программе, используемой для просмотра.

Сейчас, когда у нас есть страница, давайте вставим в нее изображение для того чтобы сделать страницу приятней, также мы добавим ссылку. Мы отобразим логотип FPDF используя функцию Image и передадим в нее следующие параметры - название файла, размерность и адрес.

$pdf->Image("/logo.png",10,20,33,0," ","http://www.fpdf.org/");
Для того чтобы добавить ссылку воспользуемся следующей командой
$pdf->Link(10, 20, 33,33, "http://www.fpdf.org/");
Сейчас созададим заголовок с рамкой
$pdf->SetXY(50,20);
$pdf->SetDrawColor(50,60,100);
$pdf->Cell(100,10,"FPDF Tutorial",1,0,"C",0);
Функция SetXY устанавливает x и y координаты точки, в которой мы хотим вывести заголовок. SetDrawColor устанавливает цвет границы, используя значения RGB. После этого мы вызываем функцию Cell для вывода прямоугольника с текстом нашего заголовка. Мы передаем в функцию следующие параметры: ширина, высота, текст, граница, ln, выравнивание и заполнение. Значение границы 0 - отсутствие границы или 1 для наличия границы. Для ln мы используем значение по умолчанию 0, «C» - выравнивание текста по цуентру и 0 для параметра заполнение. Если мы бы установили последний паараметр в 1 наш прямоугольник был бы закрашен, значение 0 оставит его прозрачным.
Теперь мы хотим написать маленький текст в наш документ
$pdf->SetXY(10,50);
$pdf->SetFontSize(10);
$pdf->Write(5,"Congratulations! You have generated a PDF. ");
Итак снова мы устанавливаем координаты вывода текста x и y, но теперь мы уменьшим размер шрифта, используя SetFontSize. Функция Write напечатает текст в наш документ. Параметр 5 устанавливает высоту, он имеет смысл только тогда когда у нас есть много строк в нашем тексте.
В конце мы выведен наш результат, используя функцию Output.
$pdf->Output("example1.pdf","I");
Здесь мы указали имя файла и параметры вывода, в данном случае «I». «I»-параметр выведет результат в браузер.

Итак полный текст:

require("fpdf.php");
//create a FPDF object
$pdf=new FPDF();
//set document properties
$pdf->SetAuthor("Lana Kovacevic");
$pdf->SetTitle("FPDF tutorial");
//set font for the entire document
$pdf->SetFont("Helvetica","B",20);
$pdf->SetTextColor(50,60,100);
//set up a page
$pdf->AddPage("P");
$pdf->SetDisplayMode(real,"default");
//insert an image and make it a link
$pdf->Image("/logo.png",10,20,33,0," ","http://www.fpdf.org/");
//display the title with a border around it
$pdf->SetXY(50,20);
$pdf->SetDrawColor(50,60,100);
$pdf->Cell(100,10,"FPDF Tutorial",1,0,"C",0);
//Set x and y position for the main text, reduce font size and write content
$pdf->SetXY (10,50);
$pdf->SetFontSize(10);
$pdf->Write(5,"Congratulations! You have generated a PDF.");
//Output the document
$pdf->Output("example1.pdf","I");

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

require("fpdf.php");
class PDF extends FPDF
{
function Header()
{
$this->Image("/logo.png",10,8,33);
$this->SetFont("Helvetica","B",15);
$this->SetXY(50, 10);
$this->Cell(0,10,"This is a header",1,0,"C");
}
function Footer()
{
$this->SetXY(100,-15);
$this->SetFont("Helvetica","I",10);
$this->Write (5, "This is a footer");
}
}
$pdf=new PDF();
$pdf->AddPage();
$pdf->Output("example2.pdf","D");
Как вы видите мы создали дочерний класс, используя наследование и создания функций Header и Footer. Затем мы создали новый объект и добавили страницу в документ. Функция AddPage автоматически вызовет функции Header и Footer. В конце мы вывели полученную информацию в файл с названием example2.pdf, используя значение «D». В этом случае браузер предложит сохранить данный файл.

Итак, мы изучили основы создания PDF-документов, для более подробной информации используйте


Сайт визитка: особенности хорошего старта
Надувные матрасы от Ламон
WebNames.Ru – десятилетие деятельности в Интернете
Квартира для вашего сайта.
Технологии от BoldSoft
Как добиться успеха в безнадежных проектах
Новый тип навигационной системы при постраничном выводе
Генерация PDF с помощью PHP
PHP и PostgreSQL
Оптимизируем MySQL

Генерация PDF с помощью PHP

Предисловие
Одна из причин, почему я люблю PHP - это то, что в нем постоянно появляется поддержка новых технологий. Язык легко расширяем, и разработчики легко добавляют к нему новые модули, поэтому PHP стал одним из самых функциональных Web языков с поддержкой огромного разнообразия разных технологий. Расширения, существующие сегодня, позволяют разработчикам легко работать с сервером IMAP и POP3; динамически создавать изображения и рисунки в формате Flash; выполнять операции проверки кредитных карт; шифровать секретные данные; и работать с базами XML.

И это еще не все! Одно из самый интересных расширений, добавленных на сегодня в PHP - это расширение PDFLib , которое позволяет разработчикам динамически генерировать документы в формате PDF (Adobe Portable Document Format) . На протяжении следующих нескольких страниц я кратко расскажу об этом модуле, и дам обзор используемых функций, расскажу как использовать это расширение в PHP разработках. Так что поехали!

Поехали!
Чтобы задействовать расширение PDFLib , сначала нужно установить соответсвующую библиотеку в Вашу систему. Если вы работаете на Linux , можно скачать копию с сайта http://www.pdflib.com/pdflib/index.html и скомпилировать ее для вашего сервера. Если вы работаете на Windows, все намного проще - вместе с дистрибутивом PHP уже поставляется скомпилированный модуль PDF , и все что Вам нужно сделать - это его активировать, раскомментировав соответствующую строку в конфигурационном файле.

Вдобавок, Вам потребуется копия программы Adobe Acrobat PDF reader , чтобы читать документы, созданные с помощью библиотеки PDFLib . Скачать бесплатно Adobe Acrobat Reader можно с сайта производителя: http://www.adobe.com/

Как только все установлено, время создать простой PDF документ:

Сохраните этот файл, а затем откройте его в браузере. PHP обработает данный скрипт и сгенерирует новый PDF файл, который сохранит в месте, указанном вверху скрипта. Вот что Вы увидите открыв этот PDF документ:

Все права на публикацию этой статьи принадлежат

Урок анатомии
Поглядим внимательнее на код, используемый в приведенном примере.

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

Начнем с первого шага - создание указателя на PDF

// create handle for new PDF document $pdf = pdf_new();

Это достигается с помощью функции pdf_new(), которая возвращает указатель на этот документ. Затем этот указатель используется во всех последующих операциях по созданию PDF документа.

Следующим шагом следует дать PDF файлу имя - это достигается функцией pdf_open_file(), которая принимает два аргумента - указатель, возвращенный предыдущей функцией и собственно имя файла, определяемое пользователем.

// open a file pdf_open_file($pdf, "philosophy.pdf");

Как только документ был создан, в него можно вставить начало новой страницы функцией pdf_begin_page(),

// start a new page (A4) pdf_begin_page($pdf, 595, 842);

и конец страницы - да вы угадали!! - функцией pdf_end_page().

// end page pdf_end_page($pdf);

Заметьте, что функция pdf_begin_page() требует два дополнительных параметра, которые представляют собой ширину и высоту создаваемого документа в точках (точка равна 1/72 дюйма). Если у вас плохо с математикой, учебник по PHP включает в себя стандартные размеры для всех распространенных размеров страниц, в том числе и A4, который используется выше.

Между вызовами pdf_begin_page() и pdf_end_page() находится код, который пишет в файл, будт это текст, картинки или геометрические фигуры. В данном примере я всего лишь пишу в документ строку текста - поэтому, все что мне нужно сделать - выбрать шрифт и использовать его при записи текста в документ.

Выбор и регистрация шрифта выполняется функциями pdf_findfont() и pdf_setfont(). Функция pdf_findfont() выбирает шрифт для использования в документе, и требует ввести имя шрифта, метод кодирования и Булевый параметр, указывающий на то, следует ли внедрить шрифт в PDF документ; а возвращает она объект-шрифт, который можно потом использовать при вызове функции pdf_setfont().

$arial = pdf_findfont($pdf, "Arial", "host", 1); pdf_setfont($pdf, $arial, 10); Как только шрифт выбран, можно использовать функцию pdf_show_xy() для записи текста в определенное место на странице. // print text pdf_show_xy($pdf, "There are more things in heaven and earth, Horatio,", 50, 750); pdf_show_xy($pdf, "than are dreamt of in your philosophy", 50, 730);

Как вы заметили, эта функция требует указатель на PDF документ, ссылку на используемый объект-шрифт, текст для записи и координаты X Y места, откуда начинать запись текста. Эти координаты указываются относительно точки (0,0), которая находится в левом нижнем углу документа.

Как только текст был записан, страница закрывается вызовом функции pdf_end_page(). Затем можно добавить еще страницы или, как я здесь сделал, просто закрыть документ с помощью pdf_close(). Эта функция сохранит документ с именем, указанным при вызове pdf_open_file(), и уничтожит указатель на документ.

Все права на публикацию этой статьи принадлежат

А вот PDF вывод:

Все волшебство здесь заключается в функциях pdf_open_image_file() и pdf_place_image(). Превая из них принимает тип изображения - GIF, JPEG, TIFF или PNG - и название файла в качестве аргументов, и возвращает указатель на рисунок, который затем можно повторно использовать в документе.

Указатель на рисунок, возвращенный выше затем можно передать функции pdf_place_image(), которая расположит рисунок в определенном месте на странице. Координаты, переданные данной функции (второй и третий аргумент) относятся к левому нижнему углу рисунка, а четвертый аргумент задает параметр масштабирования рисунка при отображении (1 - покажет рисунок в 100% масштабе, 0.5 уменьшит его в два раза.)

Все права на публикацию этой статьи принадлежат

Кратчайшее расстояние между двумя точками
Не юудем останавливаться! Модуль PDF включает в себя огромное количество функций, который помогут Вам рисовать линии, круги и другие фигуры. Вот пример, где мы нарисуем линию.

Вот что вы увидите:

В данном случае процесс рисования линии включает в себя использование функций pdf_moveto(), pdf_lineto() и pdf_stroke().

В приведенном выше примере я рисую линию из точки (20,780) до точки (575, 780). Чтобы сделать это сначала мне нужно поместить курсор в начальную точку (20,780), с помощью вызова функции to pdf_moveto().

Затем необходимо задать конечную точку с помощью pdf_lineto():

Наконец, рисуем линию с помощью pdf_stroke().

Цвет линии задается функцией pdf_setcolor(), которая принимает несколько параметров: указатель на PDF документ, тип линии: "stroke", "fill" или "both", цветовая палитра (RGB или CMYK), и список цветовых значений, подходящих к выбранной палитре.

pdf_setcolor($pdf, "stroke", "rgb", 0, 0, 0);

Важно заметить, что список цветовых значений, передаваемый pdf_setcolor() должен быть задан в процентной величине интенсивности - то есть, интенсивности данного цвета, выраженной в процентах от максимально возможной. Например, если я хочу задать (RGB: 255,0,0) в качестве цвета для заливки, мой вызов функции pdf_setcolor() будет выглядеть вот так,

pdf_setcolor($pdf, "stroke", "rgb", 1, 0, 0);

А заливка желтым цветом будет выглядеть так:

pdf_setcolor($pdf, "fill", "rgb", 1, 1, 0);

Все права на публикацию этой статьи принадлежат

Квадраный колышек, круглая дыра
Линии - это не единственное, что Вы можете рисовать - круги и прямоугольники также присутсвуют в сегодняшнем меню. Посмотрите на пример ниже:

Вот вывод:

В данном случае функция the pdf_rect() используется для рисования прямоугольника с помощью заданных координат левого нижнего угла, высоты и ширины. Затем прямоугольник закрашивается и обводится двумя разными цветами с помощью функции pdf_fill_stroke().

pdf_setcolor($pdf, "fill", "rgb", 1, 1, 0); pdf_setcolor($pdf, "stroke", "rgb", 0, 0, 0); pdf_rect($pdf, 50, 500, 200, 300); pdf_fill_stroke($pdf);

Круги рисуются функцией pdf_circle(), которая принимает три аргумента: координаты X и Y центра круга и длину радиуса.

pdf_circle($pdf, 400, 600, 100);

Эта возможность рисования геометрических изображений "на лету" может пригодиться в различных ситуациях. К примеру, вот одна из них - в ней пара циклов "for" соединяются с функцией pdf_lineto() для генерации сетки из линий.

Вот вывод:

Все права на публикацию этой статьи принадлежат

А теперь, при просмотре документа в Adobe Reader , вы сможете увидеть эту информацию в Свойствах Документа.

Все права на публикацию этой статьи принадлежат

Кусок пирога
Теперь, когда Вы умеете создавать документы PDF , обратимся к реальному применению. Следующий пример демонстрирует как PHP может принимать числовые данные и генерировать из них графики - к примеру, многоцветный график-"пирог".

Форма внизу запрашивает несколько кусков данных, в виде чисел, разделенных запятыми. После ввода нескольких чисел скрипт "pie.php" конвертирует их из абсолютных чисел в куски данных относительных размеров и использует эти куски для генерации PDF документа, содержащего график-"пирог", выделяя различные куски и заливая из разными цветами.

Pie Chart Generator
Enter numeric values (pie segments), separated by commas
А вот скрипт:

Данные, введенные в форму, передаются скрипту "pie.php" переменной $data; эти данные затем разделяются на отдельные компоненты функцией explode(), и каждое значение присваивается массиву $slices. Затем в цикле эти числа конвертируются в градусы для круга и для каждого куска рисуется дуга. В каждом проходе цикла также вычисляется координата конечной точки дуги и рисуется сегмент линии для того, чтобы отделить дугу от остальной окружности. Как только "кусок пирога" нарисован, используется функция the pdf_fill_stroke() для заливки его цветом; цвет берется из массива $colours.

Мы не будем рассматривать как скрипт вычисляет длинц каждой дуги и сегмента линии - в комментариях кода все объясняется.

Если вы введете 5 равных кусков данных, график будет выглядеть так,

Если введете 2, то:

Вот так - поиграйте со скриптом, и посмотрите как различные куски меняют форму, отражая относительные размеры данных Ну а пока - до скорого!

Замечание: Все примеры в данной статье проверены на платформе Linux/i586 с Apache 1.3.12 и PHP 4.2.0. Примеры приводятся только для иллюстративных целей и не предназначены для жизненных применений.

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

Есть ли способ сделать это через PHP? (Или даже Ruby или Python, если это то, что необходимо)

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

Я боюсь сказать вам, что это может быть сложнее, чем вы предполагаете.

Причина, по которой последнее известное использование lib используется для анализа pdf, - это smalot, и, как известно, проблема связана с большим файлом.

Здесь также Lookig для реального php lib для синтаксического анализа pdf, без пика памяти, которому нужна конфигурация php, чтобы отключить ограничение памяти, как это делает множество «разработчиков» (что, на мой взгляд, действительно нецелесообразно).

см. это сообщение для получения дополнительной информации о производительности smalot: https://github.com/smalot/pdfparser/issues/163

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

Другая возможная библиотека - TCPDF: http://www.tecnick.com/public/code/cp_dpage.php?aiocp_dp=tcpdf

Обновить, чтобы добавить более современную библиотеку: PDF Parser

Хм... не точно php, но вы можете вызвать программу из php, чтобы преобразовать pdf в временный html-файл, а затем проанализировать полученный файл с помощью php. Я сделал что-то подобное для моего проекта, и это программа, которую я использовал:

Что круто о программе, так это то, что она будет выплевывать текстовые элементы в тегах с абсолютными координатами положения. Похоже, это именно то, что вы пытаетесь сделать.

Функции PDF Введение

Функции PDF в PHP могут создавать PDF-файлы с использованием библиотеки PDFlib, автор Thomas Merz .

Документация этого раздела является обзором функций библиотеки PDFlib и не может считаться исчерпывающим справочником. Консультируйтесь в сопровождающей документации дистрибутива PDFlib. Там содержится полноценный обзор возможностей функций библиотеки PDFlib и самая свежая информация обо всех функциях.

В библиотеке PDFlib и в модуле PHP все функции и параметры имеют идентичные имена. Вам необходимо разобраться в некоторых основных понятиях PDF и PostScript, чтобы эффективно использовать это расширение.
Все размеры и координаты измеряются в пунктах PostScript. Обычно имеется 72 PostScript-пункта на дюйм, но это зависит от разрешающей способности на выводе. См. в PDFlib-документации, включённой в дистрибутив PDFlib, объяснение используемой системы координат.

Обратите внимание, что большинство функций PDF требуют pdf object в качестве первого параметра. См. примеры далее.

Примечание: Имеется альтернативный модуль PHP для создания PDF-документов на базе FastIO"s ClibPDF. См. раздел ClibPDF . Обратите внимание, что ClibPDF имеет несколько иной API по сравнению с PDFlib.

Требования

PDFlib доступна для скачивания на http://www.pdflib.com/products/pdflib/index.html , но требует платной лицензии на коммерческое использование. Библиотеки JPEG и TIFF требуются при компиляции данного расширения.

Для использования данных функций в PHP

Когда вы используете версию 3.x PDFlib, вы должны сконфигурировать PDFlib с опцией --enable-shared-pdflib .

В PHP 4.3.9, Вы должны установить это расширение через PEAR , используя следующую команду: pear install pdflib .

Конфликты со старыми версиями PDFlib

Начиная с PHP 4.0.5, PHP-расширение для PDFlib официально поддерживается компанией PDFlib GmbH. Это означает, что все функции, описанные в учебнике PDFlib (V3.00 или выше), поддерживаются в PHP 4 с точно теми же значениями и параметрами. Только return-значения могут отличаться от учебника PDFlib, так как используется соглашение PHP по возвращению FALSE . Из соображений совместимости эта привязка к PDFlib всё ещё поддерживает старые функции, но они должны быть заменены их новыми версиями. PDFlib GmbH не будет рассматривать проблемы, возникающие при использовании этих старых функций.

Старая функция Замена
pdf_put_image() Больше не нужна.
pdf_execute_image() Больше не нужна.
pdf_get_annotation() pdf_get_bookmark() с использованием тех же параметров.
pdf_get_font() pdf_get_value() с передачей "font" в качестве второго параметра.
pdf_get_fontsize() pdf_get_value() с передачей "fontsize" в качестве второго параметра.
pdf_get_fontname() pdf_get_parameter() с передачей "fontname" в качестве второго параметра.
pdf_set_info_creator() pdf_set_info() с передачей "Creator" в качестве второго параметра.
pdf_set_info_title() pdf_set_info() с передачей "Title" в качестве второго параметра.
pdf_set_info_subject() pdf_set_info() с передачей "Subject" в качестве второго параметра.
pdf_set_info_author() pdf_set_info() с передачей "Author" в качестве второго параметра.
pdf_set_info_keywords() pdf_set_info() с передачей "Keywords" в качестве второго параметра.
pdf_set_leading() pdf_set_value() с передачей "leading" в качестве второго параметра.
pdf_set_text_rendering() pdf_set_value() с передачей "textrendering" в качестве второго параметра.
pdf_set_text_rise() pdf_set_value() с передачей "textrise" в качестве второго параметра.
pdf_set_horiz_scaling() pdf_set_value() с передачей "horizscaling" в качестве второго параметра.
pdf_set_text_matrix() Больше не доступна.
pdf_set_char_spacing() pdf_set_value() с передачей "charspacing" в качестве второго параметра.
pdf_set_word_spacing() pdf_set_value() с передачей "wordspacing" в качестве второго параметра.
pdf_set_transition() pdf_set_parameter() с передачей "transition" в качестве второго параметра.
pdf_open() pdf_new() плюс последующий вызов pdf_open_file()
pdf_set_font() pdf_findfont() плюс последующий вызов pdf_setfont()
pdf_set_duration() pdf_set_value() с передачей "duration" в качестве второго параметра.
pdf_open_gif() pdf_open_image_file() с передачей "gif" в качестве второго параметра.
pdf_open_jpeg() pdf_open_image_file() с передачей "jpeg" в качестве второго параметра.
pdf_open_tiff() pdf_open_image_file() с передачей "tiff" в качестве второго параметра.
pdf_open_png() pdf_open_image_file() с передачей "png" в качестве второго параметра.
pdf_get_image_width() pdf_get_value() с передачей "imagewidth" в качестве второго параметра и изображения в качестве третьего параметра.
pdf_get_image_height() pdf_get_value() с передачей "imageheight" в качестве второго параметра и изображения в качестве третьего параметра.
Подсказки по установке PDFlib 3.x

При использовании версии 3.x библиотеки PDFlib вы должны сконфигурировать PDFlib с опцией
--enable-shared-pdflib .

Вопросы по старым версиям PDFlib

PDFlib 3.0 или выше поддерживается в PHP 3.0.19 и позднее.

Примеры

Большинство функций довольно легко использовать. Самое трудное это, пожалуй, создание очень простого PDF-документа. Следующий пример должен помочь начать. Он создаёт test.pdf из одной страницы. Эта страница содержит текст "Times Roman outlined" шрифтом outlined 30pt. Текст также подчёркнут.

Пример 1. Создание PDF-документа с помощью PDFlib

Скрипт getpdf.php возвращает pdf-документ:

Дистрибутив PDFlib содержит более сложный пример, где создаётся страница с аналоговыми часами. Здесь мы используем возможность PDFlib создания в памяти, чтобы не использовать временные файлы. Этот пример, конвертированный в PHP из примера PDFlib, таков: (Такой же пример имеется в документации CLibPDF .)

Пример 2. pdfclock из дистрибутива PDFlib