[英]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.