我正在尝试使用自定义条形码字体进行打印。
一切都很好,如下所示,我打印到.pdf。问题是“测试条形码”没有显示为条形码。当我打开.pdf时,字体是San Serif,但我可以将其更改为条形码,因此字体已安装并正常工作。 “测试文本”正确显示为Times New Roman字体。
我正在本地主持人测试。
有什么想法吗?
public void Submit_Click(object sender, EventArgs e)
{
try
{
PrintDocument pd = new PrintDocument();
pd.PrintPage += new PrintPageEventHandler(pd_PrintPage);
pd.PrinterSettings.PrinterName = "Adobe PDF";
pd.Print();
}
catch (Exception ex)
{
Response.Write("Error: " + ex.ToString());
}
}
void pd_PrintPage(object sender, PrintPageEventArgs ev)
{
Font printFont = new Font("3 of 9 Barcode", 48);
Font printFont1 = new Font("Times New Roman", 9, FontStyle.Bold);
SolidBrush br = new SolidBrush(Color.Black);
ev.Graphics.DrawString("Test Barcode", printFont, br, 10, 65);
ev.Graphics.DrawString("Test Text", printFont1, br, 10, 205);
}
答案 0 :(得分:0)
请参阅MSDN关于Font构造函数的评论
public Font(
string familyName,
float emSize
)
Windows窗体应用程序支持TrueType字体,并且对OpenType字体的支持有限。如果familyName参数指定运行应用程序的计算机上未安装的字体或不受支持,则将替换Microsoft Sans Serif。
http://msdn.microsoft.com/en-us/library/164w6x6z(v=vs.110).aspx
所以我认为您可能需要再次仔细检查字体安装。