asp.net - 如何确定 iTextSharp Basefont 默认样式

标签 asp.net itext

我正在使用 iTextSharp 创建 PDF。

该过程的一部分将简单的文本添加到 PDF,另一部分创建相同文本的轮廓。

对于直接的文本方面,我使用 iTextSharp 中的 ShowTextAligned 方法;它需要 Basefont 并且无法设置样式。

对于轮廓,我创建一个 GDI GraphicsPath 来获取点,然后将其转换为 PDF 曲线/线条等。AddString 方法需要 Drawing.FontStyle

现在我的问题是我需要将 AddString 的样式设置为 BaseFont 使用的样式。即如果 Basefont 渲染为常规,我需要将 AddString 字体样式设置为常规

如何确定 ShowTextAligned 中的 BaseFont 使用什么样式?

更多信息:

我也尝试过使用ColumnText;它允许您设置 iTextSharp 字体及其样式。尽管使用此方法会产生以近似样式呈现的字体;即,通常为常规字体并设置为粗体的字体会产生稍微畸形的粗体字体。

编辑

当我说我需要将 BaseFont 传递给 ShowTextAligned 时,我的意思是,为了使用此方法,您必须首先使用 PdfContentByte 的 SetFontAndSize 设置字体和大小 - 正是此方法需要基本字体。

我知道我一定错过了一些明显的东西..我只是只见树木不见森林:)

最佳答案

您可以尝试预先定义基本字体并在整个 PDF 文档中使用它。

参见iTextSharp - Working with Fonts

示例代码:

BaseFont bfTimes = BaseFont.CreateFont(BaseFont.TIMES_ROMAN, BaseFont.CP1252, false);

Font times = new Font(bfTimes, 12, Font.ITALIC, Color.RED);

以上几行创建了一个 BaseFont 对象并使用内置常量值来设置字体系列和编码。它还指定 false 将字体嵌入 PDF 文档中。使用 BaseFont 对象创建一个新的 Font 对象,并进一步设置字体大小(以点为单位)、样式和颜色 - 再次使用 iTextSharp 的常量作为这些值。

有关 BaseFont 的更多信息,请参阅其 class definition .

关于asp.net - 如何确定 iTextSharp Basefont 默认样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12694387/

相关文章:

c# - 使用 ASP.Net C# 使用 iTextSharp 在 PDF 文件中查找字符串和位置

css - OnEndPage 事件和带有 RowSpan 的表

javascript - 在 asp .net 中使用动态数据源进行 Bootstrap 星级评定

asp.net - 信号器不适用于特定的 isp 网络

javascript - Twitter Bootstrap Popover 和 AJAX

itext - 如何摆脱 PdfPCell、iText 5 中的顶部填充

java - 如何使用itext删除PDF附件

asp.net - 以编程方式在 GridView 中添加和删除凹痕

c# - 使用 MSBuild 构建 ASP.Net 网站不同于 Visual Studio 构建

Java:如何将PDF写出到文本文件?