Ejemplo n.º 1
0
        private static GlobalSettings MapSettings(PdfGeneratorSettings settings)
        {
            var globalSettings = new GlobalSettings
            {
                PaperSize   = PaperKind.A4,
                DPI         = 300,
                Orientation = Orientation.Landscape,
                Out         = Guid.NewGuid() + ".pdf",
            };

            if (settings == null)
            {
                return(globalSettings);
            }

            if (settings.PaperWidth > 0 && settings.PaperHeight > 0)
            {
                globalSettings.PaperSize = new PechkinPaperSize(settings.PaperWidth + "mm", settings.PaperHeight + "mm");
            }

            var outFile = settings.SaveFileName ?? Guid.NewGuid() + ".pdf";

            if (!string.IsNullOrEmpty(settings.SaveFilePath))
            {
                outFile = Path.Combine(settings.SaveFilePath, outFile);
            }

            globalSettings.Out           = outFile;
            globalSettings.DocumentTitle = settings.DocumentTitle ?? Path.GetFileNameWithoutExtension(outFile);

            return(globalSettings);
        }
Ejemplo n.º 2
0
        public async Task <string> Generate(IHtmlProvider provider, PdfGeneratorSettings settings = null)
        {
            if (provider == null)
            {
                throw new ArgumentNullException(nameof(provider));
            }

            var html = await provider.GetHtml().ConfigureAwait(false);

            return(CreatePdf(html, settings));
        }
 public SrvPdfGenerator(
     PdfGeneratorSettings settings,
     ILog log,
     IPdfGeneratorRepository pdfGeneratorRepository,
     CashoutRequestsManager cashoutRequestsManager,
     IPersonalDataService personalDataService,
     GoogleDriveSettings googleDriveSettings,
     IGoogleDriveUploadClient googleDriveService)
 {
     _settings = settings;
     _log      = log;
     _pdfGeneratorRepository = pdfGeneratorRepository;
     _cashoutRequestsManager = cashoutRequestsManager;
     _personalDataService    = personalDataService;
     _googleDriveSettings    = googleDriveSettings;
     _googleDriveService     = googleDriveService;
 }
Ejemplo n.º 4
0
        private string CreatePdf(string html, PdfGeneratorSettings settings, string uri = null)
        {
            var globalSettings = MapSettings(settings);

            var objectSettings = uri == null
                ? new ObjectSettings {
                HtmlContent = html
            }
                : new ObjectSettings {
                Page = uri
            };

            var doc = new HtmlToPdfDocument
            {
                GlobalSettings = globalSettings,
                Objects        = { objectSettings }
            };

            _synchronizedConverter.Convert(doc);

            return(globalSettings.Out);
        }
Ejemplo n.º 5
0
 public string Generate(string uri, PdfGeneratorSettings settings = null)
 {
     return(CreatePdf(null, settings, uri));
 }