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 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()).ToArray()) .Where(row => row.Length > 3) .Skip(1) .ToArray(); } } }