a-schild/pdfcalendarbuilder

1.0.11 2019-03-27 00:00 UTC

This package is auto-updated.

Last update: 2024-09-12 18:34:08 UTC


README

使用自动缩放/大小生成PDF月历

从1.0.8版本中引入的addMonth()函数,您可以生成包含多个月份的PDF。然后每个月份将占据一页。

独特功能

  • 类可以尝试将所有内容放在一页上

  • 在普通日历中,所有行的高度都相同

  • 这个库可以调整行的大小,以便所有内容都能适应一页。请参阅setResizeRowHeightsIfNeeded(true/false);

  • 如果这还不够,它还可以减小字体大小,直到所有内容都能适应一页。请参阅setShrinkFontSizeIfNeeded(true/false);

用法

在您的composer.json中添加依赖项

    "require": {
        "php": "^8.1",
        "a-schild/pdfcalendarbuilder": ">=1.0.11",
    }

创建类并生成日历

$cal = new aschild\PDFCalendarBuilder\CalendarBuilder(1, 2019, "Calendar title", true, 'mm', 'A4');
$cal->startPDF();
$cal->addEntry($startDate, $endDate, "Entry 1", "#000000", "#fffff");
$cal->buildCalendar();
$cal->Output("calendar.pdf", "I");

创建类并生成3个月的日历(所需版本1.0.7或更高版本)

$cal = new aschild\PDFCalendarBuilder\CalendarBuilder(1, 2019, "Calendar title Jan", true, 'mm', 'A4');
$cal->startPDF();
$cal->addEntry($startDate1, $endDate1, "Entry 1", "#000000", "#ffffff");
$cal->buildCalendar();
$cal->addMonth(2, 2019, "Title for Feb");
$cal->addEntry($startDate2, $endDate2, "Entry 1", "#000000", "#ffffff");
$cal->buildCalendar();
$cal->addMonth(3, 2019, "Title for March");
$cal->addEntry($startDate3, $endDate3, "Entry 1", "#000000", "#ffffff");
$cal->buildCalendar();
$cal->Output("calendar.pdf", "I");

示例

  • 空日历,没有条目,仅显示月度网格 Empty calendar
  • 普通库中溢出的框 Box overflow in normal calendars
  • 调整行高以适应空间使用 Resize rows height
  • 调整行高并在需要时缩小字体大小 Resize rows and shrink font
  • 跨越多日的活动 Events which span days

(C) 2019 A.Schild