浏览代码

Previewer: fixed JSON deserialization compatibility with dotnet 8

Marcin Ziąbek 1 年之前
父节点
当前提交
22925e3052

+ 12 - 4
Source/QuestPDF.Previewer/CommunicationService.cs

@@ -74,13 +74,21 @@ class CommunicationService
     
     private async Task HandleProvidedSnapshotImages(HttpRequest request)
     {
-        var renderedPages = JsonSerializer.Deserialize<ICollection<RenderedPageSnapshot>>(request.Form["metadata"], JsonSerializerOptions);
+        var renderedPageIndexes = JsonSerializer.Deserialize<ICollection<PageSnapshotIndex>>(request.Form["metadata"], JsonSerializerOptions);
+        var renderedPages = new List<RenderedPageSnapshot>();
 
-        foreach (var renderedPage in renderedPages)
+        foreach (var index in renderedPageIndexes)
         {
             using var memoryStream = new MemoryStream();
-            await request.Form.Files.GetFile(renderedPage.ToString()).CopyToAsync(memoryStream);
-            renderedPage.Image = SKImage.FromEncodedData(memoryStream.ToArray()).ToRasterImage(true);
+            await request.Form.Files.GetFile(index.ToString()).CopyToAsync(memoryStream);
+            var image = SKImage.FromEncodedData(memoryStream.ToArray()).ToRasterImage(true);
+
+            var renderedPage = new RenderedPageSnapshot
+            {
+                ZoomLevel = index.ZoomLevel, PageIndex = index.PageIndex, Image = image
+            };
+            
+            renderedPages.Add(renderedPage);
         }
 
         Task.Run(() => OnPageSnapshotsProvided(renderedPages));

+ 0 - 1
Source/QuestPDF.ReportSample/Layouts/TableOfContentsTemplate.cs

@@ -53,7 +53,6 @@ namespace QuestPDF.ReportSample.Layouts
                     row.RelativeItem()
                         .PaddingHorizontal(2)
                         .AlignBottom()
-                        .TranslateY(-3)
                         .Height(3)
                         .SkiaSharpRasterized((canvas, size) =>
                         {