我正在写一篇关于CSharp的简单程序。它的作用是,您编写一个文本(在richTextBox中),并将其内容保存在特定路径中的.pdf上。现在,我希望用户定位特定的单词/短语,并通过单击按钮,特定的单词/短语将变为粗体。这可能吗 ??如果是的话,怎么样?
答案 0 :(得分:1)
首先检查一下: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
此代码将为您提供带有粗体文本的新文件
答案 1 :(得分:0)
我认为你可以输入一个html到itextsharp。这样您就可以使用html控制许多样式属性。例如:这是粗体文本。可以输入为:
This is <b>bold</b> text.
您可以使用Html自定义文本的样式和颜色。虽然我没有尝试使用itextsharp使用外部样式表,但内联样式工作正常。