/// <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; } }
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; } } }