fixes a bug in such Pdf generation

vnext
Paul Schneider 8 years ago
parent 84bf47da8a
commit 05ab38c945
1 changed files with 23 additions and 25 deletions

@ -14,6 +14,18 @@ namespace Yavsc.Helpers
public class TeXString : HtmlString
{
public TeXString(TeXString teXString): base(teXString.ToString())
{
}
public TeXString(string str) : base(str)
{
}
}
public class Replacement
{
string target;
@ -28,8 +40,9 @@ namespace Yavsc.Helpers
return source.Replace(target, replacement);
}
}
public readonly static Replacement[] SpecialCharsRendering =
public static class TeXHelpers
{
public static readonly Replacement[] SpecialCharsRendering =
{
new Replacement("<","\\textless"),
new Replacement(">","\\textgreater"),
@ -55,25 +68,15 @@ namespace Yavsc.Helpers
new Replacement("","\\textendash")
};
public TeXString(string str) : base(TR(str))
{
}
private static string TR(string source)
public static TeXString ToTeX(this string source)
{
string result=source;
foreach (var r in SpecialCharsRendering)
{
result = r.Execute(result);
}
return result;
}
return new TeXString(result);
}
public static class TeXHelpers
{
public static string NewLinesWith(this string target, string separator)
{
var items = target.Split(new char[] { '\n' }).Where(
@ -85,19 +88,14 @@ namespace Yavsc.Helpers
public static TeXString ToTeX(this string target, string lineSeparator = "\n\\\\")
{
if (target == null) return null;
return new TeXString(target.NewLinesWith(lineSeparator));
return new TeXString( target.ToTeX().ToString().NewLinesWith(lineSeparator) );
}
public static HtmlString SplitAddressToTeX (this string target)
public static TeXString SplitAddressToTeX (this string target)
{
var alines = target.Split(',');
var texlines = alines.Select(l=>new TeXString(l));
StringBuilder sb = new StringBuilder();
foreach (var l in texlines)
{
sb.AppendFormat("{0}\\\\\n",l.ToString());
}
return new HtmlString(sb.ToString());
var texlines = alines.Select(l=>l.ToTeX().ToString());
return new TeXString(string.Join("\\\\\n",texlines));
}
public static bool GenerateEstimatePdf(this PdfGenerationViewModel Model)

Loading…