项目

QuestPDF 内联

// 这个方法用于生成下面示例中随机大小和颜色的块
void RandomBlock(IContainer container)
{
    container
        .Width(Placeholders.Random.Next(1, 5) * 20)
        .Height(Placeholders.Random.Next(1, 5) * 20)
        .Border(1)
        .BorderColor(Colors.Grey.Darken2)
        .Background(Placeholders.BackgroundColor());
}

// 示例用法:
.Padding(20)
.Border(1)
.Background(Colors.Grey.Lighten3)
// 使用内联布局
.Inlined(inlined =>
{
    inlined.Spacing(20); // 设置内联元素间距为20像素
    inlined.AlignLeft(); // 左对齐
    inlined.BaselineBottom(); // 底线对齐在底部

    foreach (var _ in Enumerable.Range(0, 20))
        inlined.Item().Element(RandomBlock); // 在每个循环中添加一个随机块
});

示例

可用的间距设置:

.VerticalSpacing(30) // 垂直间距为30像素
.HorizontalSpacing(40) // 水平间距为40像素

// 同时设置垂直和水平间距
.Spacing(20)

可用的水平对齐方式:

.AlignLeft() // 左对齐
.AlignRight() // 右对齐
.AlignCenter() // 居中对齐
.AlignJustify() // 对齐文本
.AlignSpaceAround() // 等间距分布

可用的基线对齐方式:

.BaselineBottom() // 基线对齐在底部
.BaselineMiddle() // 基线居中
.BaselineTop() // 基线对齐在顶部

更多示例:

.Inlined(inlined =>
{
    inlined.Spacing(20);
    inlined.AlignJustify();
    inlined.BaselineMiddle();

    foreach (var _ in Enumerable.Range(0, 20))
        inlined.Item().Element(RandomBlock);
});

示例

.Inlined(inlined =>
{
    inlined.VerticalSpacing(50);
    inlined.HorizontalSpacing(20);
    inlined.AlignSpaceAround();
    inlined.BaselineTop();

    foreach (var _ in Enumerable.Range(0, 20))
        inlined.Item().Element(RandomBlock);
});

示例

在本文档中