diff --git a/Source/QuestPDF.ReportSample/Tests.cs b/Source/QuestPDF.ReportSample/Tests.cs index 0eafda9..9c0c3d3 100644 --- a/Source/QuestPDF.ReportSample/Tests.cs +++ b/Source/QuestPDF.ReportSample/Tests.cs @@ -21,24 +21,20 @@ namespace QuestPDF.ReportSample var model = DataSource.GetReport(); Report = new StandardReport(model); - } - - [Test] - public void GenerateAndShowPdf() - { + //ImagePlaceholder.Solid = true; - - var path = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, $"test_result.pdf"); - Report.GeneratePdf(path); - Process.Start("explorer.exe", path); } [Test] - public void GenerateAndShowXps() + public void GeneratePdfAndShow() { - var path = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, $"test_result.xps"); - Report.GenerateXps(path); - Process.Start("explorer.exe", path); + Report.GeneratePdfAndShow(); + } + + [Test] + public void GenerateXpsAndShow() + { + Report.GenerateXpsAndShow(); } } } \ No newline at end of file diff --git a/Source/QuestPDF/Fluent/GenerateExtensions.cs b/Source/QuestPDF/Fluent/GenerateExtensions.cs index 0736def..391053b 100644 --- a/Source/QuestPDF/Fluent/GenerateExtensions.cs +++ b/Source/QuestPDF/Fluent/GenerateExtensions.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Diagnostics; using System.IO; using QuestPDF.Drawing; using QuestPDF.Infrastructure; @@ -28,6 +29,13 @@ namespace QuestPDF.Fluent DocumentGenerator.GeneratePdf(stream, document); } + public static void GeneratePdfAndShow(this IDocument document) + { + var filePath = Path.Combine(Path.GetTempPath(), $"QuestPDF Document.pdf"); + document.GeneratePdf(filePath); + OpenFileUsingDefaultProgram(filePath); + } + #endregion #region XPS @@ -50,6 +58,13 @@ namespace QuestPDF.Fluent DocumentGenerator.GenerateXps(stream, document); } + public static void GenerateXpsAndShow(this IDocument document) + { + var filePath = Path.Combine(Path.GetTempPath(), $"QuestPDF Document.xps"); + document.GenerateXps(filePath); + OpenFileUsingDefaultProgram(filePath); + } + #endregion #region Images @@ -77,5 +92,22 @@ namespace QuestPDF.Fluent } #endregion + + #region Helpers + + private static void OpenFileUsingDefaultProgram(string filePath) + { + var process = new Process + { + StartInfo = new ProcessStartInfo(filePath) + { + UseShellExecute = true + } + }; + + process.Start(); + } + + #endregion } } \ No newline at end of file