我想将JTextPane的内容保存到word文件中。 我没有遇到问题,但我目前不能保留一些样式选项,例如段落样式。
我使用这些库:
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import org.apache.poi.xwpf.usermodel.XWPFRun;
代码行;
System.out.println("Kaydete basıldı");
String text = textPane.getText();
lblNewLabel.setText(text);
XWPFDocument document = new XWPFDocument();
XWPFParagraph paragraph = document.createParagraph();
XWPFRun run = paragraph.createRun();
run.setText(text);
try {
FileOutputStream dosyaCikis = new FileOutputStream(
"sercan.docx");
document.write(dosyaCikis);
dosyaCikis.close();
} catch (Exception e2) {
e2.printStackTrace();
}
Apache POI或其他方式,没关系,我在等你的帮助。
答案 0 :(得分:1)
此示例显示如何设置各种样式选项:(Apache POI)
示例代码形成链接:
XWPFDocument doc = new XWPFDocument();
XWPFParagraph p1 = doc.createParagraph();
p1.setAlignment(ParagraphAlignment.CENTER);
p1.setBorderBottom(Borders.DOUBLE);
p1.setBorderTop(Borders.DOUBLE);
p1.setBorderRight(Borders.DOUBLE);
p1.setBorderLeft(Borders.DOUBLE);
p1.setBorderBetween(Borders.SINGLE);
p1.setVerticalAlignment(TextAlignment.TOP);
XWPFRun r1 = p1.createRun();
r1.setBold(true);
r1.setText("The quick brown fox");
r1.setBold(true);
r1.setFontFamily("Courier");
r1.setUnderline(UnderlinePatterns.DOT_DOT_DASH);
r1.setTextPosition(100);
其他示例(样式,图像.etc)可以在这里找到:
答案 1 :(得分:0)
AFAIK编写Word文件的选项仅限于标准Java库。
您可能希望使用明确支持Word格式的工具 - 最好的选择可能是LibreOffice,即自由软件。 LibreOffice API支持Java和其他语言。
如需更全面的解释,请点击此处:
然而,答案是指OpenOffice,由于多年来的管理问题,LibreOffice是一个更积极开发的分支。
答案 2 :(得分:0)
您可以尝试docx_editor_kit。从网页:
它可以打开docx文件并反映JEditorPane中的内容(或 的JTextPane)。用户还可以创建样式内容并存储内容 以docx格式。
有点相关的是我的docx4all,但它最近没有更新,而且可能因你的目的而过度。
这两个都使用docx4j(而不是POI)。