| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- using QuestPDF.Fluent;
- using QuestPDF.Helpers;
- using QuestPDF.Infrastructure;
- namespace QuestPDF.DocumentationExamples;
- public class SectionExamples
- {
- [Test]
- public void Example()
- {
- Document
- .Create(document =>
- {
- document.Page(page =>
- {
- page.Size(PageSizes.A5.Landscape());
- page.DefaultTextStyle(x => x.FontSize(20));
- page.Margin(25);
- page.Content()
- .Column(column =>
- {
- var terms = new[]
- {
- ("Bit", "The smallest unit of data in computing, representing either a 0 or a 1. Multiple bits are combined to form bytes, which are used to store larger data values."),
- ("Byte", "A unit of digital information that consists of 8 bits. A byte is commonly used to store a single character of text, such as a letter or a number, in computer memory."),
- ("Binary", "A number system that uses only two digits, 0 and 1, which are the fundamental building blocks of computer operations. Computers process and store all data in binary format, including text, images, and instructions."),
- ("Array", "A data structure that stores a fixed-size sequence of elements, all of the same type, in a contiguous block of memory. Arrays allow quick access to elements using an index and are commonly used to manage collections of data.")
- };
- // title
- column.Item().Extend().AlignMiddle().AlignCenter().Text("Programming Glossary").FontSize(32).Bold();
- column.Item().PageBreak();
-
- // table of contents
- column.Item().PaddingBottom(25).Text("Table of Contents").FontSize(24).Bold().Underline();
-
- foreach (var term in terms)
- {
- column.Item()
- .PaddingBottom(10)
- .SectionLink($"term-{term}")
- .Text(text =>
- {
- text.Span("Term ");
- text.Span(term.Item1).Bold();
- text.Span(" on page ");
- text.BeginPageNumberOfSection($"term-{term}");
- });
- }
-
- // content
- foreach (var term in terms)
- {
- column.Item().PageBreak();
-
- column.Item()
- .Section($"term-{term}")
- .Text(text =>
- {
- text.Span(term.Item1).Bold().FontColor(Colors.Blue.Darken2);
- text.Span(" - ");
- text.Span(term.Item2);
- });
- }
- });
- });
- })
- .GeneratePdf("sections.pdf");
- }
- }
|