我正在尝试使用 STRIKETHRU 片段存档文本 我尝试了这种方法,但不明白为什么它不起作用
所需输出:blabla 123 blabla
我得到的是:blabla 123 blabla
我的技术堆栈是.net
using iTextSharp.text;
using iTextSharp.text.pdf;
//.........
var t1 = new Font(Font.HELVETICA, 20, Font.DEFAULTSIZE);
var t2 = new Font(Font.HELVETICA, 10, Font.STRIKETHRU);
var p1 = new Phrase("0123456789", t1);
var p2 = new Phrase("0123456789", t2);
var p3 = new Phrase("0123456789", t1);
var p4 = new Phrase("0123456789", t1);
p1.AddSpecial(p2);
p1.AddSpecial(p3);
PdfPTable datatable1 = new PdfPTable(1);
datatable1.TotalWidth = 700f;
datatable1.LockedWidth = false;
datatable1.DefaultCell.Border = Rectangle.NO_BORDER;
datatable1.AddCell(" ");
datatable1.AddCell(p1);
datatable1.AddCell(" ");
datatable1.AddCell(p1);
datatable1.AddCell(" ");
datatable1.AddCell(p2);
datatable1.AddCell(" ");
datatable1.AddCell(p3);
datatable1.AddCell(" ");
datatable1.AddCell(p4);
datatable1.AddCell(new Phrase(new Chunk("123", t1)));
datatable1.AddCell(new Phrase(new Chunk("123", t2)));
我也尝试过 p1.Add(p2);结果相同
答案是这样的
var p1 = Phrase.GetInstance("blabla ");
p1.Font = new Font(Font.HELVETICA, 20, Font.DEFAULTSIZE);
var p2 = Phrase.GetInstance("123");
p2.Font = new Font(Font.HELVETICA, 20, Font.STRIKETHRU);
给出结果:blabla 123