iTextSharp上的粗体字母

本文关键字:粗体字 iTextSharp | 更新日期: 2023-09-27 18:33:48

我正在CSharp上编写一个简单的程序。它的作用是,你写一个文本(在富文本框中),它把它的内容保存在一个.pdf上,在一个特定的路径上。现在,我希望用户定位特定的单词/短语,通过单击按钮,特定的单词/短语将变为粗体。这可能吗?如果是,如何??

iTextSharp上的粗体字母

首先看看这个:http://www.mikesdotnetting.com/article/81/itextsharp-working-with-fonts

基本上你需要做的是调用 SetFieldProperty 函数你拿起旧的pdf,编辑它,然后放一个带有粗体文本框的新PDF。

MemoryStream stream = new MemoryStream(); //Memory stream to with new pdf with changed bold text
PdfReader pdfReader = new PdfReader("file.pdf"); //The original PDF
PdfStamper stamper = new PdfStamper(pdfReader, stream); //A stamper to create the pdf
SetFieldProperty("fieldName","textfont",BaseFont.COURIER_BOLD,null);   //Change textbox properties
SetField("fieldName","TEXT"); //Change field text
stamper.Close(); //Save and close
byte[] newFile = stream.ToArray(); //Here you have your new file with the bolded text

此代码将为您提供一个带有粗体文本的新文件

我认为你可以输入一个html到itextsharp。这样,您可以使用 html 控制许多样式属性。例如:这是体文本。可以输入为:

This is <b>bold</b> text.

您可以使用 Html 自定义文本的样式和颜色,如下所示。虽然我还没有尝试使用 itextsharp 使用外部样式表,但内联样式工作正常。