reproduce_bug_mini_anonymized.docx (4.7 MB)
Summary
Document loads successfully but throws NullPointerException when saving to HTML format.
Issue Description
When attempting to save a specific Word document to HTML format, Aspose throws a NullPointerException deep in the internal conversion code. The document loads without issues.
Stack Trace
java.lang.NullPointerException: Cannot load from object array because the return value of "com.aspose.words.zzZgM.zzZB7()" is null
at com.aspose.words.zzZuB.zzW07(Unknown Source)
at com.aspose.words.zzZuB.zzXhM(Unknown Source)
at com.aspose.words.zzZuB.zzW07(Unknown Source)
at com.aspose.words.zzY4v.zzYIm(Unknown Source)
at com.aspose.words.zzXkw.zzVQF(Unknown Source)
at com.aspose.words.zzXkw.visitParagraphStart(Unknown Source)
at com.aspose.words.Paragraph.acceptStart(Unknown Source)
at com.aspose.words.CompositeNode.acceptCore(Unknown Source)
at com.aspose.words.Paragraph.accept(Unknown Source)
at com.aspose.words.CompositeNode.acceptChildren(Unknown Source)
at com.aspose.words.CompositeNode.acceptCore(Unknown Source)
at com.aspose.words.Body.accept(Unknown Source)
at com.aspose.words.zzXkw.zzZUu(Unknown Source)
How to reproduce
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Paths;
import com.aspose.words.Document;
import com.aspose.words.HtmlSaveOptions;
import com.aspose.words.LoadFormat;
import com.aspose.words.LoadOptions;
import com.aspose.words.SaveFormat;
/**
* Minimal reproduction case for Aspose support
*
* Issue: Document loads successfully but times out (with NullPointerException) when saving to HTML
*
* Error: java.lang.NullPointerException: Cannot load from object array because the return value of
* "com.aspose.words.zzZgM.zzZB7()" is null
*/
public class AsposeMinimalReproduction {
public static void main(String[] args) throws Exception {
byte[] fileBytes = Files.readAllBytes(Paths.get("reproduce_bug_mini_anonymized.docx"));
LoadOptions loadOptions = new LoadOptions();
loadOptions.setLoadFormat(LoadFormat.AUTO);
loadOptions.setEncoding(StandardCharsets.UTF_8);
Document doc = new Document(new ByteArrayInputStream(fileBytes), loadOptions);
HtmlSaveOptions saveOptions = new HtmlSaveOptions(SaveFormat.HTML);
saveOptions.setExportListLabels(com.aspose.words.ExportListLabels.BY_HTML_TAGS);
saveOptions.setExportTocPageNumbers(true);
saveOptions.setEncoding(java.nio.charset.StandardCharsets.UTF_8);
saveOptions.setExportImagesAsBase64(true);
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
try {
// Try to save as HTML - this is where the NullPointerException occurs
doc.save(outputStream, saveOptions);
System.out.println("SUCCESS: Document saved to HTML successfully!");
System.out.println("HTML length: " + outputStream.size() + " bytes");
} catch (Exception e) {
System.err.println("FAILED: Exception during save:");
e.printStackTrace();
throw e;
}
}
}
Aspose version tested
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-words</artifactId>
<version>25.9</version>
<classifier>jdk17</classifier>
</dependency>