示例#1
0
        /// <summary>
        /// Sets the alternate font when a specified font is not installed in the production environment
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="args"></param>
        private void FontSettings_SubstituteFont(object sender, SubstituteFontEventArgs args)
        {
            string filePath = string.Empty;

            //Load the file from the disk
            FileStream fileStream = null;

            if (args.OriginalFontName == "Calibri")
            {
                filePath   = Path.GetFullPath(@"Data/calibri.ttf");
                fileStream = new FileStream(filePath, FileMode.Open, FileAccess.Read);

                args.AlternateFontStream = fileStream;
            }
            else if (args.OriginalFontName == "Arial")
            {
                filePath   = Path.GetFullPath(@"Data/arial.ttf");
                fileStream = new FileStream(filePath, FileMode.Open, FileAccess.Read);
                args.AlternateFontStream = fileStream;
            }
            else
            {
                filePath   = Path.GetFullPath(@"Data/times.ttf");
                fileStream = new FileStream(filePath, FileMode.Open, FileAccess.Read);
                args.AlternateFontStream = fileStream;
            }
        }
示例#2
0
 private void SubstituteFont(object sender, SubstituteFontEventArgs args)
 {
     if (checkfontName.Checked && (args.OriginalFontName == "Bahnschrift Pro SemiBold" || args.OriginalFontName == "Georgia Pro Semibold"))
     {
         args.AlternateFontName = "Calibri";
     }
     if (checkfontStream.Checked)
     {
         if (args.OriginalFontName == "Georgia Pro Semibold")
         {
             var          assembly     = Assembly.GetExecutingAssembly();
             var          resourceName = "ExceltoPDF.Fonts.georgiab.ttf";
             Stream       fileStream   = assembly.GetManifestResourceStream(resourceName);
             MemoryStream memoryStream = new MemoryStream();
             fileStream.CopyTo(memoryStream);
             fileStream.Close();
             args.AlternateFontStream = memoryStream;
         }
         else if (args.OriginalFontName == "Bahnschrift Pro SemiBold")
         {
             var          assembly     = Assembly.GetExecutingAssembly();
             var          resourceName = "ExceltoPDF.Fonts.bahnschrift.ttf";
             Stream       fileStream   = assembly.GetManifestResourceStream(resourceName);
             MemoryStream memoryStream = new MemoryStream();
             fileStream.CopyTo(memoryStream);
             fileStream.Close();
             args.AlternateFontStream = memoryStream;
         }
     }
 }