Функции ClibPDF
X. Функции ClibPDF
Введение
Библиотека ClibPDF даёт возможность создавать PDF-документы с помощью PHP. Её можно загрузить с FastIO, но необходимо приобрести лицензию для коммерческого использования. Функциональность и API ClibPDF аналогичны PDFlib.
Этот документ необходимо читать вместе с учебником ClibPDF, поскольку там библиотека рассматривается более детально.
Многие функции в модулях ClibPDF и PHP, а также в PDFlib, называются одинаково. Все функции, за исключением cpdf_open(), принимают в качестве первого параметра дескриптор документа.
В настоящее время этот дескриптор не используется внутренне, поскольку ClibPDF не поддерживает одновременное создание нескольких PDF-документов. И даже не пытайтесь сделать это - результат будет непредсказуем. Невозможно предсказать, какие последствия этого могут быть во многопоточной среде. По соглашению с автором ClibPDF мы изменим это в одном из последующих релизов (на момент написания имелась версия 1.10). Если вам нужна эта функциональность, используйте модуль pdflib.
Прекрасной возможностью ClibPDF (и PDFlib) является способность создавать pdf-документ полностью в памяти без использования временных файлов. Имеется также возможность передавать координаты в предопределённых единицах измерения. (Эта возможность симулируется также функцией pdf_translate() при использовании PDFlib -функций.)
Другим важным свойством ClibPDF является то, что любая страница может быть модифицирована в любое время, даже если уже открыта новая страница. Функция cpdf_set_current_page() позволяет оставить текущую страницу и продолжить модификацию другой страницы.
Большинство функций использовать довольно легко. Возможно, самое сложное - это создание самого простого PDF-документа. Следующий пример должен помочь вам начать. Он создаёт документ из одной страницы. Эта страница содержит текст "Times-Roman", выведенный шрифтом в 30pt. Текст подчёркнут.
Предопределённые константы
Эти константы определены данным расширением и будут доступны только в том случае, если либо вкомпилированы в РНР, либо динамически загружены на этапе прогона.
- CPDF_PM_NONE (integer)
- CPDF_PM_OUTLINES (integer)
- CPDF_PM_THUMBS (integer)
- CPDF_PM_FULLSCREEN (integer)
- CPDF_PL_SINGLE (integer)
- CPDF_PL_1COLUMN (integer)
- CPDF_PL_2LCOLUMN (integer)
- CPDF_PL_2RCOLUMN (integer)
Примеры
Дистрибутив pdflib содержит более сложный пример, в котором создаются серии страниц с аналоговыми часами. Здесь приведён пример, конвертированный в PHP с использованием расширения ClibPDF:
Пример 2. pdfclock из дистрибутива pdflib 2.0
|
См. также
документацию расширения PDFlib.
- Содержание
- cpdf_add_annotation - добавляет аннотацию
- cpdf_add_outline - добавляет закладку на текущей странице
- cpdf_arc - прорисовывает дугу
- cpdf_begin_text - начинает текстовый раздел
- cpdf_circle - прорисовывает круг
- cpdf_clip - обрезает текущий путь
- cpdf_close - закрывает pdf-документ
- cpdf_closepath_fill_stroke - закрывает, заполняет и выравнивает текущий путь/path
- cpdf_closepath_stroke - закрывает путь и прорисовывает линию вдоль пути
- cpdf_closepath - закрывает путь
- cpdf_continue_text - выводит текст в следующей строчке
- cpdf_curveto - прорисовывает кривую
- cpdf_end_text - заканчивает текстовый раздел
- cpdf_fill_stroke - заполняет и выравнивает текущий путь
- cpdf_fill - заполняет текущий путь
- cpdf_finalize_page - заканчивает страницу
- cpdf_finalize - заканчивает документ
- cpdf_global_set_document_limits - устанавливает границы для любого pdf-документа
- cpdf_import_jpeg - открывает JPEG-изображение
- cpdf_lineto - прорисовывает линию
- cpdf_moveto - устанавливает текущую точку
- cpdf_newpath - начинает новый путь
- cpdf_open - открывает pdf-документ
- cpdf_output_buffer - выводит pdf-документ в буфере памяти
- cpdf_page_init - начинает новую страницу
- cpdf_place_inline_image - помещает изображение на страницу
- cpdf_rect - прорисовывает прямоугольник
- cpdf_restore - восстанавливает ранее сохранённое окружение
- cpdf_rlineto - прорисовывает линию
- cpdf_rmoveto - устанавливает текущую точку
- cpdf_rotate_text - устанавливает угол поворота текста
- cpdf_rotate - устанавливает поворот
- cpdf_save_to_file - записывает pdf-документ в файл
- cpdf_save - сохраняет текущее окружение
- cpdf_scale - устанавливает масштабирование
- cpdf_set_action_url - устанавливает гиперссылку
- cpdf_set_char_spacing - устанавливает расстояние между символами/character spacing
- cpdf_set_creator - устанавливает поле автора/creator в pdf-документе
- cpdf_set_current_page - устанавливает текущую страницу
- cpdf_set_font_directories - устанавливает директории для поиска при использовании внешних шрифтов
- cpdf_set_font_map_file - устанавливает fontname в filename карты отображения при использовании внешних шрифтов
- cpdf_set_font - выбирает текущий шрифт и его размер
- cpdf_set_horiz_scaling - устанавливает масштабирование текста по горизонтали
- cpdf_set_keywords - устанавливает поле keywords в pdf-документе
- cpdf_set_leading - устанавливает расстояние между строчками текста
- cpdf_set_page_animation - устанавливает интервал между страницами
- cpdf_set_subject - устанавливает поле subject в pdf-документе
- cpdf_set_text_matrix - устанавливает текстовую матрицу
- cpdf_set_text_pos - устанавливает позицию текста
- cpdf_set_text_rendering - определяет отображение текста
- cpdf_set_text_rise - устанавливает возвышение текста
- cpdf_set_title - устанавливает поле title в pdf-документе
- cpdf_set_viewer_preferences - как показывать документ в просмотрщике/viewer
- cpdf_set_word_spacing - устанавливает расстояние между словами
- cpdf_setdash - устанавливает патэрн из тире
- cpdf_setflat - устанавливает ровность
- cpdf_setgray_fill - устанавливает цвет заполнения - значение gray
- cpdf_setgray_stroke — устанавливает цвет прорисовки - значение gray
- cpdf_setgray — устанавливает цвет прорисовки и заполнения - значение gray
- cpdf_setlinecap - устанавливает параметр linecap
- cpdf_setlinejoin - устанавливает параметр linejoin
- cpdf_setlinewidth - устанавливает ширину линии
- cpdf_setmiterlimit - устанавливает miter-границу
- cpdf_setrgbcolor_fill - устанавливает цвет заполнения - значение rgb
- cpdf_setrgbcolor_stroke — устанавливает цвет прорисовки - значение rgb
- cpdf_setrgbcolor — устанавливает цвет прорисовки и заполнения - значение rgb
- cpdf_show_xy - выводит текст в данной позиции
- cpdf_show - выводит текст в текущей позиции
- cpdf_stringwidth - Возвращает ширину текста при текущем шрифте
- cpdf_stroke - прорисовывает линию вдоль пути
- cpdf_text - выводит текст с параметрами
- cpdf_translate - устанавливает исходную току системы координат