在 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);

}

在 ASP.NET 中使用自定义字体打印

请参阅 MSDN 关于字体构造函数的备注

public Font(
    string familyName,
    float emSize
)

Windows 窗体应用程序支持 TrueType 字体,并且对 OpenType 字体的支持有限。如果 familyName 参数指定的字体未安装在运行应用程序的计算机上或不受支持,则将替换Microsoft无衬线字体。

http://msdn.microsoft.com/en-US/library/164W6x6Z(v=vs.110).aspx

所以我认为您可能需要再次仔细检查您的字体安装。