Я борюсь с концепцией.
Ожидаемый результат - возврат динамически сгенерированного файла PDF пользователю. Скорее всего, я сгенерирую pdf с библиотекой, которая преобразует html в pdf, такой как IronPDF et c., Поскольку на данный момент это приемлемый способ.
До сих пор я создал PDF в контроллере API, который возвращает PDF-файл пользователю. До сих пор я использовал PDFSharp и MigraDo c. Однако, если я правильно понимаю, было бы намного проще использовать контроллер для преобразования файла html в pdf и его возврата.
Вопрос на данный момент:
Должен ли я сгенерировать файл html в другом контроллере, а затем вызвать этот результат из контроллера, который возвращает pdf?
Кажется немного громоздким, чтобы создать html строку в контроллере, а затем вернуть ее в преобразованном виде в pdf.
Так что, на мой взгляд, у меня будет контроллер, который возвращает нормальное представление, и в моем ConvertToPdfController я вызовет результирующую страницу первого контроллера. Я где-нибудь рядом с разумным решением?
Решение будет примерно таким: веб-страница будет иметь кнопку «Распечатать счет». Эта кнопка вызовет мой метод PrintPDFInvoice
в контроллере. Этот метод PrintPDFInvoice
возвращает результат моего метода GenerateInvoice
в том же контроллере, который выполняет всю работу по генерации счета-фактуры в виде страницы html и возвращает нормальный вид, следовательно, полную страницу html. И мой PrintPDFInvoice
метод, вызывающий эту страницу, просто преобразовал бы эту страницу в pdf.
Я знаю, что это неясно, но для меня это так. Мне нужен контроллер, возвращающий нормальное представление для генерации страницы html. Тогда другой контроллер преобразует это в PDF. Это разумный подход?