Exemple #1
0
 public PdfResult(GeckoPdfConfig config)
 {
     MasterName = string.Empty;
     ViewName   = string.Empty;
     Model      = null;
     _config    = config;
 }
Exemple #2
0
        public static void PrintToFile(this GeckoWebBrowser browser, GeckoPdfConfig config, string filePath)
        {
            if (config.PageMargins == null)
            {
                config.PageMargins = new GeckoMargins(0, 0, 0, 0);
            }

            var print = Xpcom.QueryInterface <nsIWebBrowserPrint>(browser.Window.DomWindow);
            var ps    = print.GetGlobalPrintSettingsAttribute();


            ps.SetPrintSilentAttribute(true);
            ps.SetPrintToFileAttribute(true);
            ps.SetShowPrintProgressAttribute(false);
            ps.SetOutputFormatAttribute(2); //2 == PDF

            ps.SetToFileNameAttribute(filePath);

            ps.SetPrintBGImagesAttribute(false);
            ps.SetStartPageRangeAttribute(config.StartPageRange);
            ps.SetEndPageRangeAttribute(config.EndPageRange);
            ps.SetPrintOptions(2, config.PrintEvenPages); // evenPages
            ps.SetPrintOptions(1, config.PrintOddPages);  // oddpages
            //ps.SetEffectivePageSize(768 * 20f, 1024 * 20f);
            ps.SetShrinkToFitAttribute(config.ShrinkToFit);
            ps.SetScalingAttribute(config.DocumentScale);

            ps.SetFooterStrCenterAttribute(config.FooterCenter);
            ps.SetFooterStrLeftAttribute(config.FooterLeft);
            ps.SetFooterStrRightAttribute(config.FooterRight);

            ps.SetHeaderStrCenterAttribute("");
            ps.SetHeaderStrRightAttribute("");
            ps.SetHeaderStrLeftAttribute("");

            ps.SetMarginTopAttribute(config.PageMargins.Top);
            ps.SetMarginBottomAttribute(config.PageMargins.Bottom);
            ps.SetMarginRightAttribute(config.PageMargins.Right);
            ps.SetMarginLeftAttribute(config.PageMargins.Left);

            print.Print(ps, null);
        }
Exemple #3
0
 public PdfResult(string viewName, string masterName, object model, GeckoPdfConfig config)
     : this(viewName, model, config)
 {
     MasterName = masterName;
 }
Exemple #4
0
 public PdfResult(string viewName, object model, GeckoPdfConfig config)
     : this(config)
 {
     ViewName = viewName;
     Model    = model;
 }
Exemple #5
0
 public PdfResult(object model, GeckoPdfConfig config)
     : this(config)
 {
     Model = model;
 }
Exemple #6
0
 public PdfResult(string viewName, GeckoPdfConfig config)
     : this(config)
 {
     ViewName = viewName;
 }
Exemple #7
0
 /// <summary>
 /// A HTML to PDF converter based on Gecko engine
 /// </summary>
 /// <param name="config">Convert config</param>
 public GeckoPdf(GeckoPdfConfig config)
 {
     _config = config;
 }