Я использую библиотеку apache POI.XWPF для создания текстовых документов. Последние пару дней я искал, как сделать двойные пробелы для всего документа. Я проверил javadocs Apache и просто поискал в Интернете, но, похоже, не нашел ответов.
Я нашел метод addBreak()
, но он не будет работать, потому что пользователь будет вводить несколько абзацев, и разбивать эти абзацы на отдельные строки кажется неразумным. Если этот метод используется для каждого абзаца, то он не будет создавать двойной пробел между каждой строкой, а между каждым абзацем.
Вот небольшая часть кода, который у меня сейчас есть.
public class Paper {
public static void main(String[] args) throws IOException, XmlException {
ArrayList<String> para = new ArrayList<String>();
para.add("The first paragraph of a typical business letter is used to state the main point of the letter. Begin with a friendly opening; then quickly transition into the purpose of your letter. Use a couple of sentences to explain the purpose, but do not go in to detail until the next paragraph.");
para.add("Beginning with the second paragraph, state the supporting details to justify your purpose. These may take the form of background information, statistics or first-hand accounts. A few short paragraphs within the body of the letter should be enough to support your reasoning.");
XWPFDocument document = new XWPFDocument();
//Calls on createParagraph() method which creates a single paragraph
for(int i=0; i< para.size(); i++){
createParagraph(document, para.get(i));
}
FileOutputStream outStream = null;
try {
outStream = new FileOutputStream("ResearchPaper.docx");
} catch (FileNotFoundException e) {
e.printStackTrace();
}
try {
document.write(outStream);
outStream.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
//Creates a single paragraph with a one tab indentation
private static void createParagraph(XWPFDocument document, String para) {
XWPFParagraph paraOne = document.createParagraph();
paraOne.setFirstLineIndent(700); // Indents first line of paragraph to the equivalence of one tab
XWPFRun one = paraOne.createRun();
one.setFontSize(12);
one.setFontFamily("Times New Roman");
one.setText(para);
}
}
Просто чтобы убедиться, что мой вопрос ясен, я пытаюсь выяснить, как удвоить пробел в текстовом документе (.docx). Таким образом, между каждой строкой должен быть один пробел. Это то же самое, что и нажатие ctrl+2 при редактировании документа Word.
Спасибо за любую помощь.