我有一个读写 .doc 文件的作业,必须能够阅读 字体设置 < / strong>对于每个单词。我目前在开发中使用Aspose
字来表示Java,对单词的写入以及每个单词的字体设置都在运行。唯一的问题是,当我尝试选择 .doc
文件并使用下面的代码阅读时,它不会从 System.out.print
中返回任何内容。但有时也会出现但只有几个字而不是整个内容。
final JFileChooser fc = new JFileChooser();
HomeForm form = new HomeForm();
if (evt.getSource() == jButton2)
{
int returnVal = fc.showOpenDialog(HomeForm.this);
File file = fc.getSelectedFile();
if (returnVal == JFileChooser.APPROVE_OPTION) {
JOptionPane.showMessageDialog(null, "File " +file.getName()+" choosed", "Alert", JOptionPane.CLOSED_OPTION);
jTextField1.setText(file.getName());
String dataDir = file.getPath();
String filename = file.getName();
try {
InputStream in = new FileInputStream(dataDir);
Document doc = new Document(in);
System.out.println(file.getName());;
System.out.println(doc.getText());
in.close();FileInputStream(file.getAbsolutePath());Logger.getLogger(HomeForm.class.getName()).log(Level.SEVERE, null, ex);InputStreamReader(fis, Charset.forName("UTF-8"));
} catch (FileNotFoundException ex) {
Logger.getLogger(HomeForm.class.getName()).log(Level.SEVERE, null, ex);
} catch (Exception ex) {
Logger.getLogger(HomeForm.class.getName()).log(Level.SEVERE, null, ex);
}
} else {
JOptionPane.showMessageDialog(null, "File choose canceled", "Alert", JOptionPane.CLOSED_OPTION);
}
}
使用此代码读取每个单词和每个单词字体设置,我是朝着正确的方向前进吗?或者也许Aspose无法处理这些处理?请帮助,谢谢你的时间。
答案 0 :(得分:2)
您可以使用Aspose.Words for Java API使用以下代码获取每个文档中的Run的文本和字体名称:
Document doc = new Document("D:\temp\in.doc");
for(Run run : (Iterable) doc.getChildNodes(NodeType.RUN, true)) {
System.out.println(run.getText());
System.out.println(run.getFont().getName());
}
我与Aspose一起担任开发者布道者。