Asp.net 如何确定iTextSharp Basefont默认样式
我正在使用iTextSharp创建PDF 该过程的一部分将直接文本添加到PDF,另一部分创建相同文本的大纲 对于straighforward文本方面,我使用iTextSharp中的ShowTextAligned方法;它需要Basefont,并且无法设置样式 对于轮廓,我正在创建GDI GraphicsPath以获取点,然后将点转换为PDF曲线/线等。AddString方法需要Drawing.FontStyle 现在我的问题是,我需要将AddString的样式设置为BaseFont所使用的样式。也就是说,如果Basefont呈现为Regular,我需要将AddString fontstyle设置为Regular 如何确定ShowTextAligned中的BaseFont使用的样式 进一步资料: 我也尝试过使用专栏文字;它允许您设置iTextSharp字体及其样式。尽管使用此方法会产生近似样式的字体;也就是说,一个字体通常是规则的,并且设置为粗体,这会导致粗体字体的格式有点不正确 编辑 当我说我需要传入BaseFont以显示TextAligned时,我的意思是为了使用此方法,必须首先使用PdfContentByte的SetFontAndSize设置字体和大小-正是此方法需要BaseFontAsp.net 如何确定iTextSharp Basefont默认样式,asp.net,itextsharp,Asp.net,Itextsharp,我正在使用iTextSharp创建PDF 该过程的一部分将直接文本添加到PDF,另一部分创建相同文本的大纲 对于straighforward文本方面,我使用iTextSharp中的ShowTextAligned方法;它需要Basefont,并且无法设置样式 对于轮廓,我正在创建GDI GraphicsPath以获取点,然后将点转换为PDF曲线/线等。AddString方法需要Drawing.FontStyle 现在我的问题是,我需要将AddString的样式设置为BaseFont所使用的样式。也
我知道我肯定错过了一些明显的东西。。我只是看不见树木:)你可以尝试预先定义基本字体,并在整个PDF文档中使用它 看 示例代码:
BaseFont bfTimes = BaseFont.CreateFont(BaseFont.TIMES_ROMAN, BaseFont.CP1252, false);
Font times = new Font(bfTimes, 12, Font.ITALIC, Color.RED);
上面几行创建了一个BaseFont对象,并使用内置的常量值来设置字体系列和编码。它还指定在PDF文档中嵌入字体为false。使用BaseFont对象创建一个新的Font对象,并进一步设置字体大小(以点为单位)、样式和颜色-同样,使用iTextSharp的常量来设置这些值
有关BaseFont的更多信息,请参阅其。您可以使用SetColorFill方法。像这样
content.BeginText();
BaseFont baseFont = BaseFont.CreateFont(BaseFont.HELVETICA, BaseFont.CP1252,BaseFont.NOT_EMBEDDED);
content.SetFontAndSizebaseFont, 12);
BaseColor baseColor = new BaseColor(255, 0, 0);
content.SetColorFill(baseColor);
//or use predefined colors
content.SetColorFill(BaseColor.RED);
// use ShowTextAligned method
content.EndText();
但这并不能解决我遇到的问题——我不知道ShowTextAligned方法使用的是什么样式;它接受基本字体而不是字体。还是我遗漏了什么?最后,我想知道BaseFont使用的是什么样式。再举一个例子。如果我使用Comic Sans MS将ShowText与基本字体对齐,则会使用粗体样式。库珀黑使用常规的颜色。这可以通过创建PDF,将其放入Illustrator并键入相同的文本来澄清;玩弄这种风格,看看有什么搭配。不知道为什么会投反对票。一个解释可能会有所帮助。