gpt4 book ai didi

PDFsharp 添加私有(private)/安装的字体

转载 作者:行者123 更新时间:2023-12-04 10:46:02 34 4
gpt4 key购买 nike

我想使用 PDFsharp 将 Trade gothic 字体应用于我的 pdf 文本,我已经安装了字体并使用下面的代码行来应用

XPdfFontOptions options = new XPdfFontOptions(PdfFontEncoding.Unicode, PdfFontEmbedding.Always);
// var options = new XPdfFontOptions(PdfFontEmbedding.Always);
XFont font = new XFont("TRADE GOTHIC BOLD CONDENSED NO. 20", 20, XFontStyle.Bold, options);

但它不起作用!!.我还想知道在生产环境中我使用的是 Windows Server 2008,有没有办法在生产服务器中动态添加这种字体,即使它不存在?

按照建议,我关注了 pdfsharp 论坛, 这是我的示例代码

XPrivateFontCollection privateFontCollection = XPrivateFontCollection.Global;
// Uri fontUri = new Uri(MappedApplicationPath + "Fonts\\trade-gothic-no-20-condensed-bold-1361518746.ttf");
Uri fontUri = new Uri("C:\\inetpub\\wwwroot\\wss\\VirtualDirectories\\80\\Fonts\\trade-gothic-no-20-condensed-bold-1361518746.ttf");

LoadPrivateFont(privateFontCollection, fontUri, "./#TradeGothicNo.20-Condensed");

我尝试了所有可能的路径和文件名组合,.ttf 文件中提到的名称,但仍然出现异常。我有一个 Sharepoint 可视化 Web 部件,并且在该 Web 部件的页面加载事件中编写此代码..

这是加载方法

protected void LoadPrivateFont(PdfSharp.Drawing.XPrivateFontCollection privateFontCollection, Uri fontUri, string sFontFamilyname)
{

try
{
privateFontCollection.Add(fontUri, sFontFamilyname);
}
catch
{
}
}

我已经关注了这篇文章 http://forum.pdfsharp.net/viewtopic.php?f=2&t=1880

谢谢

最佳答案

在 PDFsharp 中使用字体时,请确保字体是 TrueType 字体(而不是 PostScript 字体)。

还要确保正确书写字体名称 - 如 Windows 的字体小程序所示或 Word 所示。

您可以使用私有(private)字体集来使用计算机上未安装的字体。这应该可以解决您使用 Windows Server 2008 的“问题”。使用 PDFsharp 的 WPF 版本。

PDFsharp 源代码包包含一个使用私有(private)字体的完整工作示例。
代码片段可以在这里看到:
http://pdfsharp.net/wiki/PrivateFonts-sample.ashx

关于PDFsharp 添加私有(private)/安装的字体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21535110/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com