正确地将句子串拆分到新的行中(JAVA)

问题描述 投票:0回答:1

我想在pdf报告中以适当的方式分割句子(泰语)(用JAVA),请看下面的代码。

def document = new Document();
PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(Constants.FILE));
document.open()
document.setMargins(1,1,1,1);
Font fontSarabunBold = new Font(BaseFont.createFont("fonts/THSarabun Bold.ttf", BaseFont.IDENTITY_H, BaseFont.EMBEDDED));
Paragraph para1 = new Paragraph(20, "ณ ป่าใหญ่แห่งหนึ่ง มีกระต่ายตัวหนึ่งมั่นใจในความเร็วของฝีเท้าตัวเองมาก และมักพูดโม้โอ้อวดว่าไม่มีใครเทียบเทียมได้ จนวันหนึ่งเจ้ากระต่ายได้พบกับเต่าที่กำลังเดินต้วมเตี้ยมผ่านมา เมื่อเห็นดังนั้น เจ้ากระต่ายก็หัวเราะเยาะและพูดล้อเลียนว่า นี่เจ้าเต่า มัวแต่เดินอืดอาดอย่างนี้ แล้วเมื่อไรจะถึงบ้านกันล่ะเนี่ย ต่อให้เจ้าเดินนำหน้าไปก่อนครึ่งวัน ข้ายังตามเจ้าทันเลย", fontSarabunBold)
document.add(para1);
document.close()

这是结果。enter image description here

似乎程序是用空格来分割句子的。

但我想得到的句子是以正确的方式吐出的,就像我在Microsoft Word中输入句子一样。

这是预期的结果。enter image description here

java fonts itext
1个回答
0
投票

Bell,在PdfWriter的段落编写中,如果句子不适合在一行中,它会自动移动到下一行的空格后,因为我们的正式语言的句子是由点". "来完成的,所以有可能的方法来完成这项工作。

1)将完整的句子分配给para1 = new Paragraph(20, "this is sentence.");然后移动到下一行并分配新的段落。

© www.soinside.com 2019 - 2024. All rights reserved.