Files
QuestPDF/QuestPDF.Examples/TextExamples.cs
T

122 lines
5.6 KiB
C#
Raw Normal View History

2021-09-12 20:10:52 +02:00
using System;
using System.Linq;
2021-08-25 03:40:16 +02:00
using NUnit.Framework;
2021-08-09 22:35:39 +02:00
using QuestPDF.Examples.Engine;
using QuestPDF.Fluent;
using QuestPDF.Helpers;
using QuestPDF.Infrastructure;
namespace QuestPDF.Examples
{
public class TextExamples
{
[Test]
public void TextElements()
{
RenderingTest
.Create()
2021-09-12 20:10:52 +02:00
.PageSize(500, 400)
2021-08-09 22:35:39 +02:00
.FileName()
2021-09-12 20:10:52 +02:00
.ProduceImages()
2021-08-27 01:55:20 +02:00
.ShowResults()
2021-08-09 22:35:39 +02:00
.Render(container =>
{
2021-08-25 03:40:16 +02:00
container
2021-09-12 20:10:52 +02:00
.Padding(10)
2021-08-25 03:40:16 +02:00
.Box()
.Border(1)
2021-09-12 20:10:52 +02:00
.Padding(10)
2021-08-25 03:40:16 +02:00
.Text(text =>
{
2021-09-12 20:10:52 +02:00
text.DefaultTextStyle(TextStyle.Default);
text.AlignLeft();
text.ParagraphSpacing(10);
text.Span(Placeholders.LoremIpsum());
text.NewLine();
text.Span("This text is a normal text, ");
text.Span("this is a bold text, ", TextStyle.Default.Bold());
text.Span("this is a red and underlined text, ", TextStyle.Default.Color(Colors.Red.Medium).Underlined());
text.Span("and this is slightly bigger text.", TextStyle.Default.Size(16));
text.NewLine();
text.Span("The new text element also supports injecting custom content between words: ");
text.Element().PaddingBottom(-10).Height(16).Width(32).Image(Placeholders.Image);
text.Span(".");
text.NewLine();
text.Span("This is page number ");
text.CurrentPageNumber();
text.Span(" out of ");
text.TotalPages();
text.NewLine();
text.ExternalLocation("Please visit QuestPDF website", "https://www.questpdf.com");
text.NewLine();
/*
2021-08-25 03:40:16 +02:00
text.Span("Let's start with bold text. ", TextStyle.Default.Bold().BackgroundColor(Colors.Grey.Lighten3).Size(16));
text.Span("Then something bigger. ", TextStyle.Default.Size(28).Color(Colors.DeepOrange.Darken2).BackgroundColor(Colors.Yellow.Lighten3).Underlined());
2021-08-27 20:25:20 +02:00
text.Span("And tiny \r\n teeny-tiny. ", TextStyle.Default.Size(6));
2021-08-25 03:40:16 +02:00
text.Span("Stroked text also works fine. ", TextStyle.Default.Size(14).Stroked().BackgroundColor(Colors.Grey.Lighten4));
text.Span("0123456789-0123456789-0123456789-0123456789-0123456789-0123456789-0123456789", TextStyle.Default.Size(18));
2021-08-27 20:25:20 +02:00
text.NewLine();
text.NewLine();
2021-08-27 01:55:20 +02:00
text.NewLine();
2021-08-25 03:40:16 +02:00
text.Span("Is it time for lorem ipsum? ", TextStyle.Default.Size(12).Underlined().BackgroundColor(Colors.Grey.Lighten3));
text.Span(Placeholders.LoremIpsum(), TextStyle.Default.Size(12));
2021-08-27 01:55:20 +02:00
text.Span("Before element - ");
2021-08-27 11:40:33 +02:00
text.Element().PaddingBottom(-10).Background(Colors.Red.Lighten4).Height(20).PaddingHorizontal(5).AlignMiddle().Text("Text inside text", TextStyle.Default.Size(8));
2021-08-27 01:55:20 +02:00
text.Span(" - end of element.");
2021-08-25 03:40:16 +02:00
2021-08-27 01:55:20 +02:00
text.NewLine();
// text.Span("And now some colors: ", TextStyle.Default.Size(16).Color(Colors.Green.Medium));
//
// foreach (var i in Enumerable.Range(1, 100))
// {
// text.Span($"{i}: {Placeholders.Sentence()} ", TextStyle.Default.Size(12 + i / 5).LineHeight(2.75f - i / 50f).Color(Placeholders.Color()).BackgroundColor(Placeholders.BackgroundColor()));
2021-09-12 20:10:52 +02:00
// }*/
2021-08-25 03:40:16 +02:00
});
2021-08-09 22:35:39 +02:00
});
}
2021-09-12 20:10:52 +02:00
2021-09-12 20:15:41 +02:00
[Test]
public void PageNumber()
2021-09-12 20:10:52 +02:00
{
2021-09-12 20:15:41 +02:00
RenderingTest
.Create()
.PageSize(500, 400)
.FileName()
.ProduceImages()
.ShowResults()
.Render(container =>
{
container
.Padding(10)
.Box()
.Border(1)
.Padding(10)
.Text(text =>
{
text.DefaultTextStyle(TextStyle.Default);
text.AlignLeft();
text.ParagraphSpacing(10);
text.Span("This is page number ");
text.CurrentPageNumber();
text.Span(" out of ");
text.TotalPages();
});
});
2021-09-12 20:10:52 +02:00
}
2021-08-09 22:35:39 +02:00
}
}