如何在一定宽度ItextSharp c#之后转到下一行?

时间:2018-03-06 05:17:31

标签: c# pdf fonts itext pdf-generation

我正在使用小型桌面级Windows应用程序, 我正在尝试使用用户的数据构建简历并写入pdf文件。

在pdf中我需要在一些宽度的文本之后使用新行。

 BaseFont bf = BaseFont.CreateFont(BaseFont.TIMES_ROMAN, BaseFont.CP1252, BaseFont.NOT_EMBEDDED);
        iTextSharp.text.Font font = new iTextSharp.text.Font(bf, 12, iTextSharp.text.Font.BOLD); //Font.normal for normal...

        Paragraph p1 = new Paragraph(new Chunk("ASHUTOSH ANIL KALE", font));
        p1.Alignment = Element.ALIGN_CENTER;
        doc.Add(p1);

        BaseFont bf2 = BaseFont.CreateFont(BaseFont.TIMES_ROMAN, BaseFont.CP1252, BaseFont.NOT_EMBEDDED);
        iTextSharp.text.Font font2 = new iTextSharp.text.Font(bf, 12, iTextSharp.text.Font.NORMAL);
        Paragraph p2 = new Paragraph(new Chunk("F-6 chaiyana-sagar apartment,road no-7, gulmohar colony,south shivaji nagar, sangli mahrashra, India ", font2));
        p2.Alignment = Element.ALIGN_CENTER;

        doc.Add(p2);

对于上面的代码我得到了这个输出

enter image description here

但我需要这种格式, 在几个宽度之后应该去下一行

enter image description here

1 个答案:

答案 0 :(得分:1)

您需要做的就是将该单词拆分为(","),然后为剩余的单词添加新行或新段落

你可以简单地添加这样的新行

document.Add(new Chunk("\n"));

或者您可以尝试这样

doc.Add(new Paragraph(" "));

//just give a space between (" ") and it will work