Parcourir la source

Added button for dispach

master
Safet Purkovic il y a 4 ans
Parent
révision
091e1cace2

+ 1
- 0
BlackRock.Reporting.API/Controllers/PDFGeneratorController.cs Voir le fichier

@@ -7,6 +7,7 @@ using PuppeteerSharp;

namespace BlackRock.Reporting.API.Controllers
{

[Route("api/[controller]")]
public class PDFGeneratorController : Controller
{

+ 13
- 10
BlackRock.Reporting.API/Core/Models/OptionsForPdf.cs Voir le fichier

@@ -8,13 +8,16 @@ namespace BlackRock.Reporting.API.Core.Models
{
public Guid Id { get; set; }
}
public enum PaperFormatType{
A4 = 0,
A3 = 1,
Letter = 2
}
public enum PaperFormatType
{
A4 = 0,
A3 = 1,
Letter = 2
}
public class OptionsForPdf
{
public string user { get; set; }
public bool IsLogged { get; set; }
/// <summary>
/// Scale of the webpage rendering. Defaults to <c>1</c>. Scale amount must be between 0.1 and 2.
/// </summary>
@@ -62,7 +65,7 @@ namespace BlackRock.Reporting.API.Core.Models
/// <summary>
/// Paper format. If set, takes priority over <see cref="Width"/> and <see cref="Height"/>
/// </summary>
public PaperFormatType PaperFormatType {get; set;} = PaperFormatType.A4; // Paper format from client side
public PaperFormatType PaperFormatType { get; set; } = PaperFormatType.A4; // Paper format from client side

/// <summary>
/// Paper width, accepts values labeled with units
@@ -78,10 +81,10 @@ namespace BlackRock.Reporting.API.Core.Models
/// Paper margins, defaults to none
/// </summary>
//public MarginOptions MarginOptions { get; set; } = new MarginOptions(){Top="3.0 mm",Right = "3.0 mm",Left="3.0 mm",Bottom="12.7 mm"};
public string MarginTop {get;set;} ="6.0 mm";
public string MarginRight {get;set;} = "3.0 mm";
public string MarginLeft {get;set;} ="3.0 mm";
public string MarginBottom {get;set;} ="12.7 mm";
public string MarginTop { get; set; } = "6.0 mm";
public string MarginRight { get; set; } = "3.0 mm";
public string MarginLeft { get; set; } = "3.0 mm";
public string MarginBottom { get; set; } = "12.7 mm";

/// <summary>
/// Give any CSS <c>@page</c> size declared in the page priority over what is declared in <c>width</c> and <c>height</c> or <c>format</c> options.

+ 17
- 10
BlackRock.Reporting.API/Persistence/PdfGenerator.cs Voir le fichier

@@ -19,20 +19,27 @@ namespace BlackRock.Reporting.API.Persistence
{
Headless = true
};
using (var browser = await Puppeteer.LaunchAsync(opts))
using (var page = await browser.NewPageAsync())
try
{
await page.GoToAsync(url, WaitUntilNavigation.DOMContentLoaded);

using (var browser = await Puppeteer.LaunchAsync(opts))
using (var page = await browser.NewPageAsync())
{
await page.GoToAsync(url, WaitUntilNavigation.DOMContentLoaded);

var allResultsSelector = ".chartjs-render-monitor";
await page.WaitForSelectorAsync(allResultsSelector);
await EvaluateScript(page, "dist/main.js");

await page.PdfAsync(path, options);
var allResultsSelector = ".chartjs-render-monitor";
await page.WaitForSelectorAsync(allResultsSelector);
await EvaluateScript(page, "dist/main.js");
// await page.ClickAsync("button#btnLogin");
await page.PdfAsync(path, options);

var pixels = CalculatePixels(options.MarginOptions.Top);
ModifyPDF(path, pixels);
var pixels = CalculatePixels(options.MarginOptions.Top);
ModifyPDF(path, pixels);
}
}
catch (Exception ex)
{
var e = ex.Message;
}
}
public async Task Isolate(string url, string path, PdfOptions options)

Chargement…
Annuler
Enregistrer