Aspose Words: получать предупреждения за каждый добавленный документ - PullRequest
0 голосов
/ 09 апреля 2019

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

0 голосов
/ 23 июля 2019

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...