Aspose Words: получать предупреждения для каждого добавленного документа

#c# #aspose.words

#c# #aspose.words

Вопрос:

Мне нужно видеть все предупреждения о моих сгенерированных документах. У меня есть «основной документ» (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 «; ни одно из предупреждений не относится к другим приложениям.

Есть ли способ увидеть название добавляемого документа в предупреждениях?

Комментарии:

1. Пожалуйста, создайте упрощенное автономное консольное приложение (исходный код без ошибок компиляции), которое поможет нам воспроизвести вашу проблему с нашей стороны, заархивируйте и загрузите его (вместе с тестовыми документами) в Dropbox и поделитесь ссылкой для скачивания здесь для тестирования. Затем мы изучим проблему со своей стороны и предоставим вам дополнительную информацию. Я работаю с Aspose в качестве евангелиста разработчика.

2. @Awais нет, это не то, как работает Stack Overflow. Если вы хотите, чтобы OP связался с вашей поддержкой, то сделайте это. На этом сайте весь код, необходимый для воспроизведения проблемы, должен присутствовать в вопросе.

Ответ №1:

Нет, нет способа увидеть название добавленных документов. Документ.Метод AppendDocument просто копирует содержимое исходного документа в целевой, так что содержимое становится частью основного документа.

В качестве возможного решения вы можете преобразовать каждый документ отдельно в PDF и проверить наличие предупреждений, затем объединить PDF-файлы с помощью Aspose.Например, PDF.