[英]how to add line break in a text read by BufferReader in attempt to convert it to pdf with iText7
这是我创建的文本文件
try {
File info = new File("StudentInfo.txt");
if(!info.exists()) {
info.createNewFile();
}
PrintWriter D = new PrintWriter(info);
D.println("Student Name "+" : "+"MUSTAPHA HASSAN;\n"+"Class \t\t"+"\t\t: "+"PRIM
6A;\n"+"No.in Class \t "+" : "+"43;\n"+"Position\t\t\t: "+"2nd;");
D.close();
}catch (Exception e) {
}
我得到了文本文件的输出
Student Name : MUSTAPHA HASSAN;
Class : PRIM 6A;
No.in Class : 43;
Position : 2nd;
将文本文件转换为 pdf
try {
String Z = "C:\\Users\\TEXT.pdf";
OutputStream D = new FileOutputStream(Z);
PdfWriter PW = new PdfWriter(D);
PdfDocument Test = new PdfDocument(PW);
Document document = new Document(Test, PageSize.A4);
Paragraph T = new Paragraph();
public static void PARA (Paragraph T , String line) {
StringTokenizer tokenizer = new StringTokenizer(line, ";");
while (tokenizer.hasMoreTokens()) {
T.add(new Paragraph(tokenizer.nextToken()));
}
}
BufferedReader bf = new BufferedReader(new FileReader("C:\\Users\\StudentInfo.txt"));
String line = bf.readLine();
PARA(T , line);
while ((line = bf.readLine()) != null) {
PARA(T , line);
}
bf.close();
document.add(T);
document.close();
}catch (Exception e) {
}
pdf 输出是这个
Student Name : MUSTAPHA HASSANClass : PRIM 6ANo.in Class : 43Position : 2nd
有什么办法可以使 pdf 输出看起来与文本中的相同吗?
我想要这种形式的pdf输出
Student Name : MUSTAPHA HASSAN;
Class : PRIM 6A;
No.in Class : 43;
Position : 2nd;
请指导我。
public static void PARA (Paragraph T , String line) {
StringTokenizer tokenizer = new StringTokenizer(line, ";");
while (tokenizer.hasMoreTokens()) {
//Remove T.add(new Paragraph(tokenizer.nextToken()));
//Replace it with
T.add(tokenizer.nextToken());
}
}
然后正如史蒂夫所说的“尝试 PARA(T , line + '\\r');”
最后你有这个作为输出
Student Name : MUSTAPHA HASSAN
Class : PRIM 6A
No.in Class : 43
Position : 2nd
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.