gpt4 book ai didi

vb.net - 如何使用 iTextsharp for VB.NET 将 PDF 中的字体更改为 Calibri

转载 作者:行者123 更新时间:2023-12-05 04:08:21 25 4
gpt4 key购买 nike

我正在尝试使用 VB.net 和 itextsharp 更改 PDF 文件中的字体。我想我几乎就在那里,但我没能宣布正确的事情。我得到的代码看起来没问题,但出现错误。

Dim FontColour As VariantType = New BaseColor(35, 31, 32)
Dim Calibri8 As VariantType = FontFactory.GetFont("Calibri", 8, FontColour)

我得到的错误如下。

严重性代码描述项目文件行抑制状态错误 BC30311 类型“BaseColor”的值无法转换为“VariantType”。 J C:\Users\Jeffrey\Documents\Visual Studio 2013\Projects\J\J\UniFormulieren\Offerte\OfferteUniverseel.vb 61 事件

严重性代码描述项目文件行抑制状态错误 BC30311 “字体”类型的值无法转换为“VariantType”。 J C:\Users\Jeffrey\Documents\Visual Studio 2013\Projects\J\J\UniFormulieren\Offerte\OfferteUniverseel.vb 62 事件

我也试过使用下面的另一种方法。

Dim bftimes As BaseFont = BaseFont.CreateFont(BaseFont.TIMES_ROMAN, BaseFont.CP1252, False)
Dim times As New Font(bftimes, 10)

这样我就可以介绍“Times new roman”而不是 Calibri。上面的代码只会让 met 添加 Times new roman、Courier 和 Helvetica。

我正在将 Microsoft Visual Studio 2017 与 VB.NET 和 iTextSharp 结合使用。我的 C# 不是那么好,但它帮助我在 VB.net 中取得了这么大的成就:)

编辑:

第一个解决方案是我尝试使用来自 Nalan M 的答案。 https://stackoverflow.com/a/29641544/9056174

编辑2:

解决方案

感谢您的帮助!我对那个变体类型非常执着,以至于我对另一种选择视而不见。

进行了后续调整,确实效果很好!

    Dim FontColour As BaseColor = New BaseColor(35, 31, 32)
Dim Calibri8 As Font = FontFactory.GetFont("Calibri", 8, FontColour)

谢谢大家的帮助。 (仍然不明白为什么我自己没有想到,使用 C# 到 VB.net 转换器有时会让你发疯)

最佳答案

错误信息

Value of type 'BaseColor' cannot be converted to 'VariantType'

Value of type 'Font' cannot be converted to 'VariantType'

指出问题所在:BaseColorFont 实例无法转换为 VariantType

因此,必须将它们分配给不同类型的变量。幸运的是,有自然的替代方案:让我们采用已知的实际类型 BaseColorFont!

Dim FontColour As BaseColor = New BaseColor(35, 31, 32)
Dim Calibri8 As Font = FontFactory.GetFont("Calibri", 8, FontColour)

关于vb.net - 如何使用 iTextsharp for VB.NET 将 PDF 中的字体更改为 Calibri,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47653512/

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