using NUnit.Framework; using QuestPDF.Examples.Engine; using QuestPDF.Fluent; using QuestPDF.Helpers; using QuestPDF.Infrastructure; using SkiaSharp; using Svg.Skia; namespace QuestPDF.Examples { public class SvgImageExample { [Test] public void ImageSVG() { RenderingTest .Create() .PageSize(new PageSize(75f, 92f, Unit.Millimetre)) .ProducePdf() .ShowResults() .Render(container => { container.Svg(SvgImage.FromFile("pdf-icon.svg")); }); } [Test] public void SupportForDifferentUnits() { RenderingTest .Create() .PageSize(PageSizes.A4) .ProducePdf() .ShowResults() .Render(container => { container.Padding(20).Column(column => { column.Spacing(20); var sizes = new[] { ("200", "100"), ("200px", "100px"), ("200pt", "100pt"), ("200cm", "100cm"), ("200mm", "100mm"), ("200in", "100in"), ("200pc", "100pc"), ("100%", "100%") }; foreach (var size in sizes) { column .Item() .Width(200) .Height(100) .Background(Colors.Grey.Lighten2) .Svg(CreateSvg(size.Item1, size.Item2)); } }); }); string CreateSvg(string width, string height) { var svg = """ """; return svg .Replace("{width}", width) .Replace("{height}", height); } } } }