ln.templates/ln.templates/html/QrCodeElement.cs

23 lines
641 B
C#

using System;
using System.Linq;
using Net.Codecrete.QrCodeGenerator;
namespace ln.templates.html;
public class QrCodeElement : TemplateElement
{
public QrCodeElement(string tagName) : base(tagName)
{
}
public override void RenderElement(Context renderContext)
{
string[] lines = QrCode.EncodeText(GetAttribute(renderContext, "value"), QrCode.Ecc.Medium)
.ToSvgString(0)
.Split(Environment.NewLine.ToCharArray())
.Skip(2)
.ToArray();
string svgSource = String.Join(Environment.NewLine, lines);
renderContext.TargetWriter.Write(svgSource);
}
}