Word转pdf 出错 Error! Unknown document property name

word 转pdf 时出现“Error! Unknown document property name.” 错误,使用的是words-21.1.0-jdk17.jar,
参考https://forum.aspose.com/t/error-unknown-document-property-name-converting-rtf-to-pdf/48898/6 中的方法,增加 doc.updateFields(); 和 field.remove(); 方法,如下:

Document doc = new Document(MyDir + "input.rtf");
doc.updateFields();
for (Field field : doc.getRange().getFields())
{
    if (field.getType() == FieldType.FIELD_DOC_PROPERTY)
    {
        if (field.getResult().startsWith("Error"))
        {
            field.remove();
        }
    }
}
doc.updateFields();
doc.Save(MyDir + "Out.docx");

按这种方式修改会影响其他文档的正常转换。 我改如何解决这个问题。
有问题的附件和截图见附件

@kongc 出现此问题是因为文档没有指定的文档属性。 有几种方法可以解决该问题:

  1. 保存为 PDF 时禁用更新字段:
Document doc = new Document("C:\\Temp\\in.docx");
PdfSaveOptions opt = new PdfSaveOptions();
opt.setUpdateFields(false);
doc.save("C:\\Temp\\out.pdf", opt);
  1. 禁用更新某些类型的字段:
Document doc = new Document("C:\\Temp\\in.docx");
for (Field f : doc.getRange().getFields())
{
    if (f.getType() == FieldType.FIELD_DOC_PROPERTY)
        f.isLocked(true);
}
doc.save("C:\\Temp\\out.pdf");
  1. 将遗漏的属性添加到文档中:
Document doc = new Document("C:\\Temp\\in.docx");
for (Field f : doc.getRange().getFields())
{
    if (f.getType() == FieldType.FIELD_DOC_PROPERTY)
    {
        String fieldCode = f.getFieldCode();
        String[] fieldCodeParts = fieldCode.split("\\s+");
        String propName = fieldCodeParts[1];

        if (!doc.getBuiltInDocumentProperties().contains(propName) &&
            !doc.getCustomDocumentProperties().contains(propName))
        {
            doc.getCustomDocumentProperties().add(propName, "");
                }
    }
}
doc.save("C:\\Temp\\out.pdf");

此外,您提供的代码也有效。