簡體   English   中英

使用Apache POI識別Word女士中的項目符號

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM