在 ASP.NET 中使用自定义字体打印
本文关键字:自定义 字体 打印 ASP NET | 更新日期: 2023-09-27 18:33:26
我正在尝试使用自定义条形码字体打印。
一切都很好,正如您在下面看到的,我正在打印到.pdf。问题是"测试条形码"未显示为条形码。当我打开.pdf字体时,字体是San Serif,但我可以将其更改为条形码,因此字体已安装并正常工作。"测试文本"正确显示为时代新罗马字体。
我正在本地主机中进行测试。
有什么想法吗?
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);
}
请参阅 MSDN 关于字体构造函数的备注
public Font(
string familyName,
float emSize
)
Windows 窗体应用程序支持 TrueType 字体,并且对 OpenType 字体的支持有限。如果 familyName 参数指定的字体未安装在运行应用程序的计算机上或不受支持,则将替换Microsoft无衬线字体。
http://msdn.microsoft.com/en-US/library/164W6x6Z(v=vs.110).aspx
所以我认为您可能需要再次仔细检查您的字体安装。