从this开始,我认为我可以通过以下方法之一来增加段间距:
par.SetLeading(15, 2.5f); // doesn't do anything
par.SetLeading(0, 2); // doesn't do anything
在上下文中:
Chunk boldpart = new Chunk("Important: ", helvetica9BoldRed);
Chunk ini = new Chunk("Form must be filled out in ", helvetica9Red);
Anchor anchor = new Anchor("Adobe Reader", LinkFont);
anchor.Reference = "http://www.adobe.com";
Chunk middlePart = new Chunk(" or Acrobat Professional 8.1 or above. To save completed forms, Acrobat Professional is required. For technical and accessibility assistance, contact the ", helvetica9Red);
Anchor anchorCCO = new Anchor("Campus Controller's Office", LinkFont);
anchor.Reference = "mailto:dplatypus@ucsc.edu";
PdfPTable tbl = new PdfPTable(1);
tbl.WidthPercentage = 55;
tbl.HorizontalAlignment = Element.ALIGN_LEFT;
var par = new Paragraph();
//par.SetLeading(15, 2.5f); // doesn't do anything
par.SetLeading(0, 2); // doesn't do anything
par.Add(boldpart);
par.Add(ini);
par.Add(anchor);
par.Add(middlePart);
par.Add(anchorCCO);
PdfPCell chunky = new PdfPCell(par);
chunky.BorderWidth = PdfPCell.NO_BORDER;
tbl.AddCell(chunky);
doc.Add(tbl);
如评论所示,两者都没有。这就是我所看到的:
如何增加段落内线之间的距离?
当我尝试这个时(回答答案):
PdfPCell chunky = new PdfPCell();
chunky.AddCell(par);
我知道,“'iTextSharp.text.pdf.PdfPCell'不包含'AddCell'的定义,也没有扩展方法'AddCell'接受'iTextSharp.text.pdf.PdfPCell'类型的第一个参数可以找到“
答案 0 :(得分:2)
您的问题与StackOverflow上已回答的许多问题重复。其中一些是:
还有更多,但上面提到的那些是为免费电子书The Best iText Questions on StackOverflow选择的那本书,这本书回答了你在过去一周里提出的许多问题。
执行此操作时:
PdfPCell chunky = new PdfPCell(par);
您不会将par
视为Paragraph
。 PdfPCell
查看par
,好像它是Phrase
(Phrase
是Paragraph
的超类)。正如许多人所记录的那样,您正在文本模式中创建PdfPCell
。 文字模式表示会忽略在段落级别定义的所有属性,以支持单元格级别的属性。
换句话说:如果为leading
定义par
,则会被忽略。相反,将使用leading
chunky
。这是一种基于经验的设计选择:当您主要对添加文本感兴趣时,在单元格级别定义属性更有意义。
在某些情况下,您不希望在单元格级别定义属性。例如:也许您有一个内容由不同Paragraph
对象组成的单元格,这些对象具有不同的引导,对齐等...
在这种情况下,您将从文本模式切换到复合模式。你可以这样做:
PdfPCell chunky = new PdfPCell();
chunky.AddCell(par);
将忽略在单元格级别定义的前导和对齐等属性。相反,leading
的{{1}}和alignment
将被考虑在内(par
将被视为真实的par
,而不是Paragraph
}})。
所有这些都在iText in Action,The Best iText Questions on StackOverflow以及许多其他地方进行了解释。
答案 1 :(得分:0)
这有效:
var par = new Paragraph();
par.SetLeading(0, 1.2f);
par.Add(boldpart);
par.Add(ini);
par.Add(anchor);
par.Add(middlePart);
par.Add(anchorCCO);
PdfPCell chunky = new PdfPCell();
chunky.AddElement(par);
chunky.BorderWidth = PdfPCell.NO_BORDER;
tbl.AddCell(chunky);
增加或减少" 1.2f"尝尝。