From 78c051a9c7916cb619642e7c6ab0d78cbf554f33 Mon Sep 17 00:00:00 2001 From: John Cardinal Date: Fri, 5 Nov 2021 20:06:45 +0000 Subject: [PATCH] --- server/AyaNova/biz/ReportBiz.cs | 60 ++++++++++++++------------------- 1 file changed, 25 insertions(+), 35 deletions(-) diff --git a/server/AyaNova/biz/ReportBiz.cs b/server/AyaNova/biz/ReportBiz.cs index 6b416d15..d4e91f92 100644 --- a/server/AyaNova/biz/ReportBiz.cs +++ b/server/AyaNova/biz/ReportBiz.cs @@ -434,12 +434,16 @@ namespace AyaNova.Biz log.LogDebug("Initializing report system"); var ReportJSFolderPath = Path.Combine(ServerBootConfig.AYANOVA_CONTENT_ROOT_PATH, "resource", "rpt"); - //language - mirror client's language so that pdf footer header stuff like date prints in their desired format, otherwise those items take the server's settings automatically - var lang = reportRequest.ClientMeta["LanguageName"].Value(); - if (!string.IsNullOrWhiteSpace(lang)) - { - lang = $"--lang={lang}"; - } + // //=================== + // //TRY TO FORCE LANGUAGE + // //language - mirror client's language so that pdf footer header stuff like date prints in their desired format, otherwise those items take the server's settings automatically + // var ClientLanguage = reportRequest.ClientMeta["LanguageName"].Value(); + // string LaunchParamLanguage = string.Empty; + // if (!string.IsNullOrWhiteSpace(ClientLanguage)) + // { + // LaunchParamLanguage = $"--lang={ClientLanguage}"; + // } + // //====================== var lo = new LaunchOptions { Headless = true }; @@ -479,7 +483,7 @@ namespace AyaNova.Biz //and so far in testing I see no reason to doubt him so removed it //https://github.com/puppeteer/puppeteer/issues/1825#issuecomment-792817748 //testing - lo.Args = new string[] { $"--disable-dev-shm-usage --no-sandbox --disable-gpu --no-zygote {lang}" }; + lo.Args = new string[] { $"--disable-dev-shm-usage --no-sandbox --disable-gpu --no-zygote " }; } else { @@ -489,7 +493,8 @@ namespace AyaNova.Biz await new BrowserFetcher().DownloadAsync(BrowserFetcher.DefaultChromiumRevision); - lo.Args = new string[] { $"{lang}" }; + // //TRY TO FORCE LANGUAGE THROUGH STARTUP PARAMETER + // lo.Args = new string[] { $"{LaunchParamLanguage}" }; } System.Text.StringBuilder PageLog = new System.Text.StringBuilder(); @@ -500,38 +505,21 @@ namespace AyaNova.Biz log.LogDebug($"Launching headless Browser now:"); using (var browser = await Puppeteer.LaunchAsync(lo)) using (var page = await browser.NewPageAsync()) - // using (var page = (await browser.PagesAsync()).First()) + // using (var page = (await browser.PagesAsync()).First())//for language setting version { //track this process so it can be cancelled if it times out ReportRenderManager.AddProcess(browser.Process.Id); - // var lang = reportRequest.ClientMeta; - // // var overrideNavigatorLanguages = @"Object.defineProperty(navigator, 'languages', { - // // get: function() { - // // return ['es', 'bn', 'fr']; - // // } - // // });"; - // var ov = @"Object.defineProperty(navigator, 'language', { - // get: function() { - // return 'ar-EG'; - // } - // }); - // Object.defineProperty(navigator, 'languages', { - // get: function() { - // return ['ar-EG', 'ko-KR']; - // } - // });"; - // await page.EvaluateFunctionOnNewDocumentAsync(ov); - - - // await page.GoToAsync("about:blank"); - // var res = (JArray)await page.EvaluateExpressionAsync("navigator.languages"); - + // //======================================== + // //TRY TO FORCE LANGUAGE ON ALL PLATFORMS + // var JScriptOverrideLanguage = "Object.defineProperty(navigator, 'language', {get: function() {return '" + ClientLanguage + "';}});Object.defineProperty(navigator, 'languages', {get: function() {return ['" + ClientLanguage + "'];}});"; + // await page.EvaluateFunctionOnNewDocumentAsync(JScriptOverrideLanguage); + // await page.GoToAsync("about:blank"); // var hdrs = new Dictionary(); - // hdrs.Add("Accept-Language", "ar-EG"); + // hdrs.Add("Accept-Language", ClientLanguage); // await page.SetExtraHttpHeadersAsync(hdrs); - + // //========================================= @@ -686,8 +674,10 @@ namespace AyaNova.Biz PdfOptions.DisplayHeaderFooter = report.DisplayHeaderFooter; if (report.DisplayHeaderFooter) { - PdfOptions.HeaderTemplate = report.HeaderTemplate; - PdfOptions.FooterTemplate = report.FooterTemplate; + var ClientPDFDate = reportRequest.ClientMeta["PDFDate"].Value(); + var ClientPDFTime = reportRequest.ClientMeta["PDFTime"].Value(); + PdfOptions.HeaderTemplate = report.HeaderTemplate.Replace("PDFDate",ClientPDFDate).Replace("PDFTime",ClientPDFTime); + PdfOptions.FooterTemplate = report.FooterTemplate.Replace("PDFDate",ClientPDFDate).Replace("PDFTime",ClientPDFTime);; } if (report.PaperFormat != ReportPaperFormat.NotSet)