我們很高興宣布 GroupDocs.Parser for Java 26.10 已於 2026年10月 發佈。這是一個以正確性為重點的維護版本:文字搜尋在所有重載中再次正常工作,文件結構提取支援更多 Word 文件,檔案資訊正確報告加密狀態,且 PDF 圖像座標現在與 API 其他部分保持一致。授權現在由 GroupDocs.Foundation 處理,且捆綁的 Aspose 元件已更新。

此版本的新功能

鍵 摘要 類別
PARSERJAVA-491 Parser.search 不再在搜尋未限定於頁面時拋出 NullPointerException 修復
PARSERJAVA-513 Parser.getStructure() 能夠處理含有頁首或頁尾表格的 Word 文件,並返回格式正確的 XML 修復
— Parser.getFileInfo(String) 將受密碼保護的 DOCX、XLSX 和 PPTX 檔案報告為已加密 修復
— FileInfo.isEncrypted() 僅在加密的 PDF 文件上返回 true 修復
— PDF 圖像矩形的測量從頁面頂部開始,與其他頁面區域相同 修復
PARSERJAVA-154 授權由 GroupDocs.Foundation 執行,這是 GroupDocs 產品共用的授權核心 更新
PARSERJAVA-512 捆綁的 Aspose 元件已更新 更新
PARSERJAVA-509 已發布的 POM:產品名稱、簡短說明、<url>、<organization> 與 <scm> 更新

升級前需檢查的行為變更

有兩項變更會影響現有程式碼的觀察結果:

  1. PDF 圖像座標。 PDF 圖像矩形的頂部座標現在從頁面頂部測量。如果您的程式碼是從頁面底部轉換的,請移除該轉換。
  2. Word 文件的結構 XML。 由 Word 換行字元分隔的單詞現在在結構 XML 中以空格分隔。

修復

未限定於頁面的文字搜尋

自 25.5 版起,所有未限定於頁面的 Parser.search 呼叫都會拋出 NullPointerException。這影響了 search(String keyword) 重載、search(String keyword, SearchOptions options)(searchByPages 設為 false,預設值)以及請求高亮的搜尋。將 searchByPages 設為 true 的搜尋則不受影響。

在 26.10 版中,這些呼叫再次返回搜尋結果:

try (Parser parser = new Parser("sample.pdf")) {
    Iterable<SearchResult> results = parser.search("lorem");
    if (results == null) {
        return; // Search isn't supported for this document
    }

    for (SearchResult result : results) {
        System.out.println(result.getPosition() + ": " + result.getText());
    }
}

Word 文件的結構

Parser.getStructure() 以前在包含頁首或頁尾表格的文字處理文件上會拋出例外,且當文件文字包含控制字元時可能返回無法解析的 XML。這兩個問題已修復:

  • 頁首與頁尾的表格以其邏輯格線描述:表格中的行索引、行內的儲存格索引,且跨距皆為 1;
  • Word 換行字元(儲存格結束、垂直定位、分頁、分欄)會轉換為空格,因而分隔的單詞不再連在一起;
  • XML 1.0 不允許的字元會被刪除;
  • 屬性值的跳脫方式與文字相同。

受密碼保護文件的檔案資訊

Parser.getFileInfo(String filePath) 重載未能辨識受密碼保護的 DOCX、XLSX 與 PPTX 檔案:對於 DOCX 與 XLSX 會回傳大小為 0 且 isEncrypted() 為 false,而 PPTX 則沒有檔案類型。現在它會返回與 InputStream 重載相同的結果:實際檔案大小、isEncrypted() 為 true,以及 FileType.Unknown(加密文件的格式在未提供密碼時無法讀取)。

這使得偵測受保護檔案並使用密碼開啟變得簡單:

FileInfo info = Parser.getFileInfo("protected.docx");
if (info.isEncrypted()) {
    LoadOptions options = new LoadOptions("password");
    try (Parser parser = new Parser("protected.docx", options);
         TextReader reader = parser.getText()) {
        System.out.println(reader.readToEnd());
    }
}

PDF 文件的加密

FileInfo.isEncrypted() 先前對所有 PDF 文件皆回傳 true。現在僅對實際加密的 PDF 文件回傳 true。

PDF 圖像的位置

Parser.getImages() 回傳的 PDF 圖像矩形先前是從頁面底部測量,而文字、表格及其他頁面區域則是從頂部測量。現在圖像使用相同的以頂部為基準的座標,因此 getImages(PageAreaOptions) 能在給定的矩形內找到圖像:

try (Parser parser = new Parser("images.pdf")) {
    // Images in the top-left 400 x 400 points of each page
    PageAreaOptions options = new PageAreaOptions(new Rectangle(new Point(0, 0), new Size(400, 400)));
    for (PageImageArea image : parser.getImages(options)) {
        System.out.println(image.getPage().getIndex() + ": " + image.getRectangle());
    }
}

更新

在 GroupDocs.Foundation 上的授權

授權驗證、計量授權以及捆綁的 Aspose 元件的授權現在由 GroupDocs.Foundation 執行,這與其他 GroupDocs 產品使用的授權核心相同。授權 API 未變更:License.setLicense、Metered.setMeteredKey、Metered.getConsumptionQuantity 與 Metered.getConsumptionCredit 仍如以往呼叫。

License license = new License();
license.setLicense("GroupDocs.Parser.Java.lic");

try (Parser parser = new Parser("document.docx");
     TextReader reader = parser.getText()) {
    System.out.println(reader.readToEnd());
}

捆綁的 Aspose 元件

元件 26.9 26.10
Aspose.Cells 26.3 26.9
Aspose.Email 26.1 26.8
Aspose.PDF 26.2 26.8.1
Aspose.Slides 26.2 26.9
Aspose.Words 26.3 26.8
Aspose.BarCode 26.4 26.6
Aspose.Imaging 25.12 25.12
Aspose.ZIP 25.10 25.10
Aspose.Note 23.3 23.3

此產品仍可在 Java 8 上執行。

已發布的構件中繼資料

已發布的 POM 現在包含名稱 GroupDocs.Parser for Java、對庫提取內容與支援格式的簡短說明、產品頁面的 <url>,並聲明 <organization> 與 <scm>。這些資訊會在 MVNRepository 等相依性索引中顯示。程式碼、行為或 API 均未變更。

如何取得更新

Maven

在您的 pom.xml 中加入 GroupDocs 儲存庫與相依性:

<repositories>
    <repository>
        <id>groupdocs-artifacts-repository</id>
        <name>GroupDocs Artifacts Repository</name>
        <url>https://releases.groupdocs.com/java/repo/</url>
    </repository>
</repositories>

<dependencies>
    <dependency>
        <groupId>com.groupdocs</groupId>
        <artifactId>groupdocs-parser</artifactId>
        <version>26.10</version>
    </dependency>
</dependencies>

直接下載

從 GroupDocs.Parser for Java 26.10 下載頁面 下載 JAR。

資源