Files
elwig/Tests/DocumentTests/Utils.cs
Lorenz Stechauner f09753ccc2
All checks were successful
Test / Run tests (push) Successful in 2m4s
Remove byte order marks
2024-07-26 19:44:41 +02:00

30 lines
1.0 KiB
C#

using Elwig.Documents;
using NReco.PdfRenderer;
using System.Text.RegularExpressions;
namespace Tests.DocumentTests {
public static class Utils {
private static readonly string FileName = Path.Combine(Path.GetTempPath(), "test_document.pdf");
public static async Task<string> GeneratePdfText(Document doc, bool preserveLayout = false) {
await doc.Generate();
try {
doc.SaveTo(FileName);
var conv = new PdfToTextConverter { CustomArgs = preserveLayout ? "-layout " : "-raw " };
return conv.GenerateText(FileName);
} finally {
File.Delete(FileName);
}
}
public static string[][] ExtractTable(string text) {
return text.Split('\n')
.Select(row => Regex.Split(row, @"\s{2,}").Select(c => c.Trim()).Where(c => c.Length > 0).ToArray())
.Where(row => row.Length > 3)
.Skip(1)
.ToArray();
}
}
}