From a600e468de7972e810170096d0ee141b26f316c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?SAL=C4=B0H=20=C3=96ZKARA?= Date: Mon, 16 Jun 2025 10:18:33 +0300 Subject: [PATCH] refactoring --- modules/docs/app/VoloDocs.Web/VoloDocs.Web.csproj | 1 + .../Volo.Docs.Admin.Application.csproj | 2 +- .../Volo/Docs/Admin/DocsAdminApplicationModule.cs | 2 +- .../Volo/Docs/Documents/DocsDocumentPdfController.cs | 4 ++-- .../Volo/Docs/Projects/Pdf/IHtmlToPdfRenderer.cs | 2 +- .../Volo/Docs/Projects/Pdf/IText/ITextHtmlToPdfRenderer.cs | 5 ++--- .../Volo/Docs/Projects/Pdf/ProjectPdfGenerator.cs | 4 +--- 7 files changed, 9 insertions(+), 11 deletions(-) diff --git a/modules/docs/app/VoloDocs.Web/VoloDocs.Web.csproj b/modules/docs/app/VoloDocs.Web/VoloDocs.Web.csproj index 0a59f42c87..316f29f84c 100644 --- a/modules/docs/app/VoloDocs.Web/VoloDocs.Web.csproj +++ b/modules/docs/app/VoloDocs.Web/VoloDocs.Web.csproj @@ -43,6 +43,7 @@ + diff --git a/modules/docs/src/Volo.Docs.Admin.Application/Volo.Docs.Admin.Application.csproj b/modules/docs/src/Volo.Docs.Admin.Application/Volo.Docs.Admin.Application.csproj index 2ecefbfd1a..725c70bc2b 100644 --- a/modules/docs/src/Volo.Docs.Admin.Application/Volo.Docs.Admin.Application.csproj +++ b/modules/docs/src/Volo.Docs.Admin.Application/Volo.Docs.Admin.Application.csproj @@ -17,7 +17,7 @@ - + diff --git a/modules/docs/src/Volo.Docs.Admin.Application/Volo/Docs/Admin/DocsAdminApplicationModule.cs b/modules/docs/src/Volo.Docs.Admin.Application/Volo/Docs/Admin/DocsAdminApplicationModule.cs index 9358705f94..2491bf5fb6 100644 --- a/modules/docs/src/Volo.Docs.Admin.Application/Volo/Docs/Admin/DocsAdminApplicationModule.cs +++ b/modules/docs/src/Volo.Docs.Admin.Application/Volo/Docs/Admin/DocsAdminApplicationModule.cs @@ -15,7 +15,7 @@ namespace Volo.Docs.Admin typeof(AbpCachingModule), typeof(AbpAutoMapperModule), typeof(AbpDddApplicationModule), - typeof(AbpBackgroundJobsModule) + typeof(AbpBackgroundJobsAbstractionsModule) )] public class DocsAdminApplicationModule : AbpModule { diff --git a/modules/docs/src/Volo.Docs.Common.HttpApi/Volo/Docs/Documents/DocsDocumentPdfController.cs b/modules/docs/src/Volo.Docs.Common.HttpApi/Volo/Docs/Documents/DocsDocumentPdfController.cs index 06c20093aa..040373269e 100644 --- a/modules/docs/src/Volo.Docs.Common.HttpApi/Volo/Docs/Documents/DocsDocumentPdfController.cs +++ b/modules/docs/src/Volo.Docs.Common.HttpApi/Volo/Docs/Documents/DocsDocumentPdfController.cs @@ -23,14 +23,14 @@ public class DocsDocumentPdfController : DocsControllerBase, IDocumentPdfAppServ [HttpGet] [Route("download")] - public Task DownloadPdfAsync(DocumentPdfGeneratorInput input) + public virtual Task DownloadPdfAsync(DocumentPdfGeneratorInput input) { return DocumentPdfAppService.DownloadPdfAsync(input); } [HttpGet] [Route("exists")] - public Task ExistsAsync(DocumentPdfGeneratorInput input) + public virtual Task ExistsAsync(DocumentPdfGeneratorInput input) { return DocumentPdfAppService.ExistsAsync(input); } diff --git a/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Projects/Pdf/IHtmlToPdfRenderer.cs b/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Projects/Pdf/IHtmlToPdfRenderer.cs index cee1b96185..56fdc2f995 100644 --- a/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Projects/Pdf/IHtmlToPdfRenderer.cs +++ b/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Projects/Pdf/IHtmlToPdfRenderer.cs @@ -6,5 +6,5 @@ namespace Volo.Docs.Projects.Pdf; public interface IHtmlToPdfRenderer { - Stream Render(string title, string html, List documents); + Task RenderAsync(string title, string html, List documents); } \ No newline at end of file diff --git a/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Projects/Pdf/IText/ITextHtmlToPdfRenderer.cs b/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Projects/Pdf/IText/ITextHtmlToPdfRenderer.cs index a5fa814dcb..cd83333495 100644 --- a/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Projects/Pdf/IText/ITextHtmlToPdfRenderer.cs +++ b/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Projects/Pdf/IText/ITextHtmlToPdfRenderer.cs @@ -8,7 +8,6 @@ using iText.Kernel.Pdf.Action; using Microsoft.Extensions.Options; using Volo.Abp.DependencyInjection; using Volo.Docs.Utils; -using ITextDocument = iText.Layout.Document; namespace Volo.Docs.Projects.Pdf.IText; @@ -21,7 +20,7 @@ public class ITextHtmlToPdfRenderer : IHtmlToPdfRenderer, ITransientDependency Options = options; } - public virtual Stream Render(string title, string html, List documents) + public virtual Task RenderAsync(string title, string html, List documents) { var pdfStream = new MemoryStream(); using (var pdfWriter = new PdfWriter(pdfStream)) @@ -36,7 +35,7 @@ public class ITextHtmlToPdfRenderer : IHtmlToPdfRenderer, ITransientDependency } pdfStream.Position = 0; - return pdfStream; + return Task.FromResult(pdfStream); } private void CreatePdfFromHtml(string html, iText.Kernel.Pdf.PdfDocument pdfDocument) diff --git a/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Projects/Pdf/ProjectPdfGenerator.cs b/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Projects/Pdf/ProjectPdfGenerator.cs index 391d4c77ae..f91e341d6f 100644 --- a/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Projects/Pdf/ProjectPdfGenerator.cs +++ b/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Projects/Pdf/ProjectPdfGenerator.cs @@ -73,7 +73,7 @@ public class ProjectPdfGenerator : IProjectPdfGenerator, ITransientDependency var chunkHtml = await BuildHtmlAsync([document]); - var pdfStream = HtmlToPdfRenderer.Render($"{title} - Part {document.Title}", chunkHtml, [document]); + var pdfStream = await HtmlToPdfRenderer.RenderAsync($"{title} - Part {document.Title}", chunkHtml, [document]); Logger.LogInformation("Chunk {Index} rendered to PDF", i + 1); @@ -103,8 +103,6 @@ public class ProjectPdfGenerator : IProjectPdfGenerator, ITransientDependency finally { AllPdfDocuments.Clear(); - GC.Collect(); - GC.WaitForPendingFinalizers(); } }