如何在写入pdf文件时设置字体大小

时间:2013-07-18 11:34:21

标签: java itext

我正在阅读.txt文件中的一些文字并将其写入pdf文件。但在我的pdf中,文本显示为更大的字体。即使我已将.txt文件的字体大小更大或更小,pdf中的字体也会相同。

我的部分代码正在阅读文本文件中的阅读

Document document = new Document(PageSize.A4.rotate(), 36, 36, 80, 160);
 ........
 .........
           document.newPage();

            //Writing in a default page from the txt file

            document.add(new com.lowagie.text.Paragraph("\n"));
            iStream = new FileInputStream(path1); //path1 is location of .txt file
            in = new DataInputStream(iStream);
            is = new InputStreamReader(in);
            br = new BufferedReader(is);
            String strLine;
            while ((strLine = br.readLine()) != null)
            {
                Paragraph para = new com.lowagie.text.Paragraph(strLine + "\n");
                para.setAlignment(Element.ALIGN_JUSTIFIED);
                document.add(new com.lowagie.text.Paragraph(strLine + "\n"));

            }
            br.close();
            is.close();
            in.close();
            iStream.close();
            document.close();
            writer.close(); 

抱歉,我正在使用较低版本的itext,因为我现在无法将任何第三方库添加到我的windchill.This版本​​的itext已经在我的windchill中了。

如何在写入PDF文件时设置pdf文件中的字体大小。任何帮助都会非常有用。

1 个答案:

答案 0 :(得分:2)

非常简单:D

拳头,我会改变一件事:

while ((strLine = br.readLine()) != null) {
    Paragraph para = new com.lowagie.text.Paragraph(strLine + "\n");
    para.setAlignment(Element.ALIGN_JUSTIFIED);
    document.add(para);
}

这样,该段落在文件中是合理的。你这样做了,你改变了一个paragaph-object的文本对齐方式,但后来又为PDF添加了一个完全不同的新文本。

现在你的问题:
您可以在每个Paragraph`构造函数中指定Font,如下所示:

Paragraph para = new com.lowagie.text.Paragraph(strLine + "\n", FontFactory.getFont("Arial", 14f /*This is the size, but as a float!*/);

可以找到lowagie API的完整文档here

最好的问候