У меня есть процесс печати, где мы не разрешаем замену шрифта поддерживать целостность документа. Единственный способ добиться этого - обеспечить включение всех шрифтов. Я указываю встроенный параметр, когда я вызываю перегрузку FontFactory.GetFont (строковое имя шрифта, строковое кодирование, bool embedded, float size). Код ниже - это тестовый код, который я использовал, чтобы попытаться найти решение. К сожалению, созданный pdf не имеет встроенных шрифтов.Шрифты, не встроенные в ItextSharp
public static void TestPDFEmbedd()
{
Document document = new Document();
PdfWriter.GetInstance(document, new FileStream(SystemPaths.SystemPath + "\\Production\\Test.pdf", FileMode.Create));
document.Open();
FontFactory.Register("c:\\windows\\fonts\\tahomabd.ttf","address_font");
Font font = FontFactory.GetFont("address_font",BaseFont.CP1252,true,10f);
document.Add(new Paragraph("Testing 123", font));
document.Close();
}
Если вы видите Helvetica вместо Tahoma Bold, ваш путь к шрифту неправильный. –