gpt4 book ai didi

vb.net - 如何通过 VB.net 在 iTextSharp 中使用系统字体

转载 作者:行者123 更新时间:2023-12-02 11:48:22 24 4
gpt4 key购买 nike

我正在使用 Itextsharp 通过 VB.net 将文本文件动态转换为 PDF 文档。但是,我需要使用不属于 iTextSharp 库的系统字体。我看过一些使用 C# 的代码示例。然而,我是编程新手,我的经验全部是 Visual Basic。有人可以帮我编写使用系统字体的代码吗?

最佳答案

假设您想使用 Arial 常规字体,并且您的 C:\windows\fonts 目录中有文件 arial.ttf,然后创建 Font 对象就像这样简单:

Dim arial As BaseFont = BaseFont.createFont("c:\windows\fonts\arial.ttf", BaseFont.IDENTITY_H, BaseFont.EMBEDDED)
font = New Font(arial, 16)

使用字体也很容易:

document.Add(New Paragraph("Hello World, Arial.", font))

这几乎是对可以找到的大量 Java 和 C# 示例的直译。如果这不能解决您的问题,请展示您已尝试过的方法并解释为什么它不起作用。

更新:

您声称在目录 C:\Windows\Fonts\ 中有一个名为 Arial monospaced for SAP.ttf 的文件。我 99% 确信这不是真的。我在Google上搜索了这样的字体,发现a webpage that says :

Go to c:\windows\fonts and [it] should contain arimon__.ttf and arimonbd.ttf

换句话说,您需要:

Dim arial As BaseFont = BaseFont.createFont(
"c:\windows\fonts\arimon__.ttf", BaseFont.IDENTITY_H, BaseFont.EMBEDDED)
Dim arialbd As BaseFont = BaseFont.createFont(
"c:\windows\fonts\arimonbd.ttf", BaseFont.IDENTITY_H, BaseFont.EMBEDDED)

不是 iText 问题。这是一个不理解包含字体程序的文件和该字体程序的名称之间的区别的问题。

在评论中,您声称该文件名为 Arial monospaced for SAP.ttf。请允许我引导您了解 Windows 资源管理器的基础知识。

您正在查看您的字体目录,如下所示:

enter image description here

该 View 显示字体名称字体文件名称。请选择右上角的查看图标并更改以查看详细信息。您将看到以下内容:

enter image description here

现在右键单击详细列表的标题并选择字体文件名。您将看到以下内容:

enter image description here

使用本概述中所示的路径,您的代码将会工作。如果它不起作用,请发布一个新问题并准确地解释您在做什么,以便我们纠正您。并不是每个人都有耐心创建屏幕截图来向您表明您所说的是……不准确的。

如果您在 c:\windows\fonts 下找不到 arimon__.ttfarimonbd.ttf,则这些字体可能是“在那里。如果它们不存在,您的代码将无法工作。检查它们是否存在的另一种方法是在 Windows 下单击运行(在右键单击“开始”图标时打开的菜单中)并打开 cmd。然后执行cd c:\windows\fonts,然后执行dir ari*。这将显示所有以 ari 开头的字体文件的列表。

看一下下面的屏幕截图,它显示了当我在我的计算机上执行此操作时会发生什么:

enter image description here

如您所见,我的 c:\windows\fonts 目录中没有 arimon__.ttfarimonbd.ttf,因此你的代码永远无法在我的电脑上运行。

关于vb.net - 如何通过 VB.net 在 iTextSharp 中使用系统字体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29997695/

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