iTextSharp

时间:2016-02-09 15:51:19

标签: c# itextsharp

我正在写一篇关于CSharp的简单程序。它的作用是,您编写一个文本(在richTextBox中),并将其内容保存在特定路径中的.pdf上。现在,我希望用户定位特定的单词/短语,并通过单击按钮,特定的单词/短语将变为粗体。这可能吗 ??如果是的话,怎么样?

2 个答案:

答案 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使用外部样式表,但内联样式工作正常。