【问题标题】:Aspose Words: get warnings for every document appendedAspose Words:获取每个附加文档的警告
【发布时间】:2019-07-23 20:10:13
【问题描述】:

我需要查看有关我生成的文档的所有警告。 我有一个“主文档”(docx),后来我将其他文档(docx)附加到“主文档”,这样:

Aspose.Words.Document mainDoc = GenerateDocument("main.docx", myModel);
mainDoc.AppendDocument(GenerateDocument("attach1.docx", myModel), ImportFormatMode.KeepSourceFormatting);
mainDoc.AppendDocument(GenerateDocument("attach2.docx", myModel), ImportFormatMode.KeepSourceFormatting);

进入GenerateDocument方法我创建Document对象并以这种方式设置WarningCallback

// e.g. fileName = "main.docx"
document.WarningCallback = new MyWarningCallback(fileName); 

[...]

public class MyWarningCallback : IWarningCallback {

    private string _fileName;

    public MyWarningCallback(string fileName)
    {
        _fileName = fileName;
    }

    public void Warning(WarningInfo info)
    {
        myLog.Log(LogLevel.Warn, $"{_fileName}: {info.Description}");
    }
}

当我将mainDoc 转换为 PDF 时,我正确地看到了所有警告,但所有警告都指向“mainDoc.docx”;没有任何警告涉及其他附件。

有没有办法在警告中看到附加文档的名称?

【问题讨论】:

  • 请创建一个简化的独立控制台应用程序(源代码没有编译错误),以帮助我们重现您的问题,ZIP 并将其(连同测试文档)上传到 Dropbox 并共享下载链接在这里进行测试。然后,我们将最终调查该问题并为您提供更多信息。我与 Aspose 一起担任开发人员宣传员。
  • @Awais 不,这不是 Stack Overflow 的工作方式。如果您希望 OP 联系您的支持人员,请这样做。在此站点上,重现问题所需的所有代码都必须出现在问题中。

标签: c# aspose.words


【解决方案1】:

不,无法查看附加文档的名称。 Document.AppendDocument 方法只是将源文档的内容复制到目标文档中,因此内容成为主文档的一部分。

作为一种可能的解决方案,您可以将每个文档分别转换为 PDF 并检查警告,然后使用 Aspose.PDF 连接 PDF。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多