在word转pdf时出现异常报错

Caused by: java.lang.IllegalStateException: XMLStreamException: Unexpected character ' ' (code 32) (missing name?)
 at [row,col {unknown-source}]: [45692,46]
	at com.aspose.words.internal.zzZe6.zz45(Unknown Source)
	at com.aspose.words.internal.zzZe6.read(Unknown Source)
	at com.aspose.words.internal.zzWY.zz45(Unknown Source)
	at com.aspose.words.internal.zzWY.zz45(Unknown Source)
	at com.aspose.words.internal.zzWY.zz45(Unknown Source)
	at com.aspose.words.internal.zzZyR.zz45(Unknown Source)
	at com.aspose.words.internal.zzZyR.zzXbi(Unknown Source)
	at com.aspose.words.internal.zzZ9x.zzYFr(Unknown Source)
	at com.aspose.words.internal.zzZ9x.zzWwQ(Unknown Source)
	at com.aspose.words.internal.zzZ9x.zzXdz(Unknown Source)
	at com.aspose.words.internal.zzZ9x.<init>(Unknown Source)
	at com.aspose.words.zzXI4.zzWSq(Unknown Source)
	at com.aspose.words.zzXI4.zzeG(Unknown Source)
	at com.aspose.words.zzXI4.zzXeN(Unknown Source)
	at com.aspose.words.zzXI4.zzYFr(Unknown Source)
	at com.aspose.words.Document.zzYFr(Unknown Source)
	... 109 more
Caused by: com.aspose.words.internal.zzqb: Unexpected character ' ' (code 32) (missing name?)
 at [row,col {unknown-source}]: [45692,46]
	at com.aspose.words.internal.zzir.zzYdS(Unknown Source)
	at com.aspose.words.internal.zzir.zzWcU(Unknown Source)
	at com.aspose.words.internal.zzir.zzXaD(Unknown Source)
	at com.aspose.words.internal.zzir.zzZH4(Unknown Source)
	at com.aspose.words.internal.zzYnk.zz45(Unknown Source)
	at com.aspose.words.internal.zzYnk.zzOI(Unknown Source)
	at com.aspose.words.internal.zzYnk.zzGR(Unknown Source)
	at com.aspose.words.internal.zzYnk.zzW66(Unknown Source)
	at com.aspose.words.internal.zzYnk.next(Unknown Source)
	at com.aspose.words.internal.zzZe6.read(Unknown Source)
	... 123 more

赵铸1783085998317266_1.docx (1.1 MB)

@2794317898

在将Word文档转换为PDF时,您遇到的错误提示表明文档可能已损坏。具体来说,错误信息中提到的“Unexpected character ’ ’ (code 32) (missing name?)”通常与文档的XML结构问题有关。

为了解决这个问题,您可以尝试以下步骤:

  1. 检查文档完整性:确保您的Word文档没有损坏。您可以尝试在Microsoft Word中打开并重新保存该文档,以修复潜在的损坏。

  2. 使用Aspose.Words的异常处理:在代码中添加异常处理,以便在加载文档时捕获并处理可能的错误。例如:

    import com.aspose.words.Document;
    import com.aspose.words.SaveFormat;
    import com.aspose.words.FileCorruptedException;
    
    String input = "C:\\temp\\docToPDF\\test.docx";
    String output = "C:\\temp\\docToPDF\\test.pdf";
    
    try {
        Document doc = new Document(input);
        doc.save(output, SaveFormat.PDF);
    } catch (FileCorruptedException e) {
        System.out.println("文档已损坏,请检查文件。");
    } catch (Exception e) {
        System.out.println("发生错误: " + e.getMessage());
    }
    
  3. 尝试其他文档:如果问题仍然存在,尝试使用其他Word文档进行转换,以确认问题是否特定于该文档。

  4. 联系支持:如果以上步骤无法解决问题,建议您将文档上传到Aspose支持渠道,寻求进一步的技术支持。

希望这些建议能帮助您解决问题!

@2794317898 使用最新的 25.10 版 Aspose.Words for Java 和以下简单代码,我无法重现该问题:

Document doc = new Document("C:\\Temp\\in.docx");
doc.save("C:\\Temp\\out.pdf");

因此,请尝试使用最新版本,并让我们知道问题是否仍然存在。

test.docx (2.7 MB)

请尝试转换附件文件,我无法成功转换为pdf

@2794317898 附件文档已损坏,即使使用 MS Word 也无法恢复。因此,Aspose.Words 也无法恢复或打开该文档。

@2794317898 问题出在“&”字符上,该字符在 XML 中应该使用“&”进行转义。以下是更正后的文档。
test.zip (94.4 KB)