Java IText:段落
时间:2020-01-09 10:36:09 来源:igfitidea点击:
IText中的com.itextpdf.text.Paragraph
类表示文本的"段落"。在段落中,我们可以设置段落前后的段落对齐方式,缩进和间距。
这是一个简单的代码示例:
import com.itextpdf.text.Document; import com.itextpdf.text.DocumentException; import com.itextpdf.text.Paragraph; public class DocumentExample { public static void main(String[] args) { Document document = new Document(); try { PdfWriter.getInstance(document, new FileOutputStream("Paragraph.pdf")); document.open(); Paragraph paragraph = new Paragraph(); for(int i=0; i<10; i++){ Chunk chunk = new Chunk( "This is a sentence which is long " + i + ". "); paragraph.add(chunk); } document.add(paragraph); document.close(); } catch (DocumentException e) { e.printStackTrace(); } catch (FileNotFoundException e) { e.printStackTrace(); } } }
注意句子6是如何很好地位于其自己的行上的。
行间距
如果添加的文本超出文档的右边缘,则段落对象知道如何添加行距。行距以用户单位度量。每英寸有72个单位。默认间距是字体高度的1.5倍。我们可以通过将间距作为参数传递给Paragraph
构造函数来更改行距,如下所示:
Paragraph paragraph = new Paragraph(50);
段落前后的间距
我们还可以设置段落前后的间距。这是我们在代码中的操作方法:
paragraph.setSpacingAfter(50); paragraph.setSpacingBefore(50);
对齐
我们可以使用setAlignment()方法设置段落的对齐方式。设置文本在页面的哪一侧对齐。这是一个例子:
paragraph.setAlignment(Element.ALIGN_LEFT); paragraph.setAlignment(Element.ALIGN_CENTER); paragraph.setAlignment(Element.ALIGN_RIGHT);
缩进
我们可以设置段落的左右缩进。这会将段落内容从页面边缘移开。这是执行此操作的代码:
paragraph.setIndentationLeft(50); paragraph.setIndentationRight(50);
较大的段落示例
这是一个较大的段落示例,在文档中添加了两个段落。第一段使用默认的左对齐和缩进。第二段是居中对齐的,并使用50个用户单位作为左右缩进。
import com.itextpdf.text.*; import com.itextpdf.text.pdf.PdfWriter; import java.io.FileNotFoundException; import java.io.FileOutputStream; /** */ public class Paragraph2Example { public static void main(String[] args) { Document document = new Document(); try { PdfWriter.getInstance(document, new FileOutputStream("Paragraph2.pdf")); document.open(); Paragraph paragraph1 = new Paragraph(); Paragraph paragraph2 = new Paragraph(); paragraph2.setSpacingAfter(25); paragraph2.setSpacingBefore(25); paragraph2.setAlignment(Element.ALIGN_CENTER); paragraph2.setIndentationLeft(50); paragraph2.setIndentationRight(50); for(int i=0; i<10; i++){ Chunk chunk = new Chunk( "This is a sentence which is long " + i + ". "); paragraph1.add(chunk); paragraph2.add(chunk); } document.add(paragraph1); document.add(paragraph2); document.close(); } catch (DocumentException e) { e.printStackTrace(); } catch (FileNotFoundException e) { e.printStackTrace(); } } }