[英]Identifying Bullets in Ms Word, using Apache POI
我正在嘗試制作一個可以讀取Word文件(docx)並對其進行處理的應用程序。 到目前為止,除了識別項目符號外,我幾乎完成了所有工作。 我可以找到isBold(),isItalic(),isStrike(),但我似乎找不到isBullet()
誰能告訴我如何識別子彈?
該應用程序是用Java構建的
沒有isBullet()
方法,因為Word中的列表樣式比這復雜得多。 您具有不同的縮進級別,不同樣式的項目符號,編號列表和項目符號列表等
調用用例最簡單的方法可能是XWPFParagraph.html.getNumFmt() :
返回此段落的編號格式,例如bullet或lowerLetter。 如果此段落沒有數字樣式,則返回null。
調用它,如果得到null,則它不是列表,如果是,則將知道它是否是項目符號,數字,字母等
您可以使用下面的代碼來獲取Word文檔中所有項目符號的列表。 我使用過Apache Poi的XWPF API。
public class ListTest {
public static void main(String[] args) {
String filename = "file_path";
List<String> paraList = new ArrayList<String>();
try {
// is = new FileInputStream(fileName);
XWPFDocument doc =
new XWPFDocument(OPCPackage.open(filename));
List<XWPFParagraph> paragraphList = doc.getParagraphs();
for(XWPFParagraph para :paragraphList) {
if((para.getStyle()!=null) && (para.getNumFmt() !=null)) {
paraList.add(para.getText());
}
for(String bullet :paraList) {
System.out.println(bullet);
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.