Skip to content

Commit 2b8d760

Browse files
fix: pass WebRootPath to Scryber ParseDocument for relative image path resolution
When ParseDocument was called without a base path, Scryber could not resolve relative image paths (e.g. ./assets/image.test.png) because LoadedSource was empty. Use the overload that accepts a path parameter so Scryber's ReferenceChecker can resolve paths relative to wwwroot. Agent-Logs-Url: https://github.com/grandnode/grandnode2/sessions/5d2dbad8-02eb-4e9a-90c8-63cd785b237d Co-authored-by: KrzysztofPajak <16772986+KrzysztofPajak@users.noreply.github.com>
1 parent 9b9f843 commit 2b8d760

1 file changed

Lines changed: 4 additions & 2 deletions

File tree

src/Business/Grand.Business.Common/Services/Pdf/HtmlToPdfService.cs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,8 @@ public async Task PrintOrdersToPdf(Stream stream, IList<Order> orders, string la
4444
var html = await _viewRenderService.RenderToStringAsync(OrderTemplate,
4545
new ValueTuple<IList<Order>, string>(orders, vendorId));
4646
TextReader sr = new StringReader(html);
47-
using var doc = Document.ParseDocument(sr, ParseSourceType.DynamicContent);
47+
var basePath = Path.Combine(_webHostEnvironment.WebRootPath, "index.html");
48+
using var doc = Document.ParseDocument(sr, basePath, ParseSourceType.DynamicContent);
4849
doc.SaveAsPDF(stream);
4950
}
5051

@@ -79,7 +80,8 @@ public async Task PrintPackagingSlipsToPdf(Stream stream, IList<Shipment> shipme
7980

8081
var html = await _viewRenderService.RenderToStringAsync(ShipmentsTemplate, shipments);
8182
TextReader sr = new StringReader(html);
82-
using var doc = Document.ParseDocument(sr, ParseSourceType.DynamicContent);
83+
var basePath = Path.Combine(_webHostEnvironment.WebRootPath, "index.html");
84+
using var doc = Document.ParseDocument(sr, basePath, ParseSourceType.DynamicContent);
8385
doc.SaveAsPDF(stream);
8486
}
8587

0 commit comments

Comments
 (0)