使用iText java将字体设置为pdf中的段落

Nim*_*ims 4 java fonts itext paragraph

我试图在java中使用iText创建pdf.当我尝试将字体设置为段落时,我失败了.确切的问题是没有应用字体大小.我使用了以下代码.

StringReader strReader = new StringReader(content);
arrList = HTMLWorker.parseToList(strReader, null);

Font font = new Font(BaseFont.createFont("c:\\ARIALUN0.ttf", BaseFont.IDENTITY_H, 
    BaseFont.EMBEDDED), 6, Font.BOLD, new Color(0, 0, 0));

Paragraph para = new Paragraph();  
para.setFont(font);
for (int k = 0; k < arrList.size(); ++k) {                   
    para.add((com.lowagie.text.Element)arrList.get(k)); 
}
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮我找到解决方案吗?

小智 8

//使用此代码.有时setfont()不能与Paragraph一起使用

try
{

    FileOutputStream out=new FileOutputStream(name);
    Document doc=new Document();
    PdfWriter.getInstance(doc, out);
    doc.open();

    Font f=new Font(FontFamily.TIMES_ROMAN,50.0f,Font.UNDERLINE,BaseColor.RED);
    Paragraph p=new Paragraph("New PdF",f);

    p.setAlignment(Paragraph.ALIGN_CENTER);

    doc.add(p);
    doc.close();
    }
    catch(Exception e)
    {
        System.out.println(e);
    }
}
Run Code Online (Sandbox Code Playgroud)


Zac*_*ach 3

我很困惑,几乎发布了错误的答案。

您的段落的字体设置正确。只需尝试插入一个字符串即可查看。

你的问题出在你的for循环上。您将向该段落添加 Element 对象。Element 由 Chunk 对象组成,每个 Chunk 对象都有自己的 Font 数据。

尝试在实例化元素时设置元素中块的字体。那应该可以解决你的问题。