From f20d7af0c520ab8cbc05cd5c6d6045d0acfd232f Mon Sep 17 00:00:00 2001 From: Tobias Klika Date: Wed, 17 May 2023 16:09:57 +0200 Subject: [PATCH] new overloads to generate images based on the passed settings --- Source/QuestPDF/Drawing/DocumentGenerator.cs | 7 ++--- Source/QuestPDF/Fluent/GenerateExtensions.cs | 28 ++++++++++++++------ 2 files changed, 24 insertions(+), 11 deletions(-) diff --git a/Source/QuestPDF/Drawing/DocumentGenerator.cs b/Source/QuestPDF/Drawing/DocumentGenerator.cs index 05a458e..fd64509 100644 --- a/Source/QuestPDF/Drawing/DocumentGenerator.cs +++ b/Source/QuestPDF/Drawing/DocumentGenerator.cs @@ -45,13 +45,14 @@ namespace QuestPDF.Drawing throw new ArgumentException("The library requires a Stream object with the 'seek' capability available (the CanSeek flag). Please consider using the MemoryStream class."); } - internal static ICollection GenerateImages(IDocument document) + internal static ICollection GenerateImages(IDocument document, ImageGenerationSettings settings) { ValidateLicense(); - var settings = document.GetSettings(); + var documentSettings = document.GetSettings(); + documentSettings.ImageRasterDpi = settings.RasterDpi; var canvas = new ImageCanvas(settings); - RenderDocument(canvas, document, settings); + RenderDocument(canvas, document, documentSettings); return canvas.Images; } diff --git a/Source/QuestPDF/Fluent/GenerateExtensions.cs b/Source/QuestPDF/Fluent/GenerateExtensions.cs index 5479a59..ab94932 100644 --- a/Source/QuestPDF/Fluent/GenerateExtensions.cs +++ b/Source/QuestPDF/Fluent/GenerateExtensions.cs @@ -75,30 +75,42 @@ namespace QuestPDF.Fluent public static IEnumerable GenerateImages(this IDocument document) { - return DocumentGenerator.GenerateImages(document); + return document.GenerateImages(ImageGenerationSettings.Default); } - + + + public static IEnumerable GenerateImages(this IDocument document, ImageGenerationSettings settings) + { + return DocumentGenerator.GenerateImages(document, settings); + } + /// Method should return fileName for given index public static void GenerateImages(this IDocument document, Func filePath) + { + document.GenerateImages(filePath, ImageGenerationSettings.Default); + } + + /// Method should return fileName for given index + public static void GenerateImages(this IDocument document, Func filePath, ImageGenerationSettings settings) { var index = 0; - - foreach (var imageData in document.GenerateImages()) + + foreach (var imageData in document.GenerateImages(settings)) { var path = filePath(index); - + if (File.Exists(path)) File.Delete(path); - + File.WriteAllBytes(path, imageData); index++; } } #endregion - + #region Helpers - + private static void OpenFileUsingDefaultProgram(string filePath) { var process = new Process