有没有办法使用iText7使第一个字符变成不同的颜色?

时间:2019-10-22 10:17:48

标签: c# pdf itext pdf-generation itext7

我正在C#中使用itext7,我只想使用一个段落,第一个字符需要使用不同的颜色。有什么办法吗?在iText5中有一块东西,但是在iText7中不可用,所以我此刻陷入困境。

2 个答案:

答案 0 :(得分:1)

没有块,但是您可以添加具有不同特征的段落字符串。

    PdfDocument pdfDoc = new PdfDocument(new PdfWriter(DEST));
    Document doc = new Document(pdfDoc);

    Paragraph p = new Paragraph();
    string original = "Some text";

    string first = original.Substring(0, 1);

    p.Add(new Text(first)
            .SetFontColor(ColorConstants.BLUE));
    p.Add(original.Substring(1, original.Length - 1));
    doc.Add(p);
    doc.Close();

这应该创建一个PDF文件,其中“ ome text”为黑色,而“ S”为蓝色。

相关文档(Colored Text example)和Paragraph的API。

答案 1 :(得分:1)

您可以在段落中添加文本并设置颜色,然后再将其添加到段落

var dotstring = new Text("$");
var cashstring = new Text("1.000,-");
dotstring.SetFontColor(DeviceCmyk.MAGENTA);

var NummerParagraph = new Paragraph();
NummerParagraph.Add(dotstring);
NummerParagraph.Add(cashstring);

这是一个简单的解决方案,因为我的第一个字母是静态的,我知道它是什么。 如果您不知道字符串的第一个字母,AndréLemos 发布的另一种解决方案会更好。