Загрузить таблицу, созданную запросом linq, в файл PDF - PullRequest
0 голосов
/ 28 октября 2019

У меня есть таблица, сформированная из запроса linq в среде ASP.NET MVC, мне нужно загрузить ее как файл .pdf.

Это мой первый вопрос: я новичок в ASP.NETПриложения MVC, и мне нужна ваша помощь, чтобы выполнить задачу загрузки таблицы на нескольких страницах в файл .pdf. Я использовал этот скрипт, но он печатает только текущую страницу:

<script>
   var Printer = new Object();
   Printer.Print = function (HTML) {
     var win = window.open("")
     window.focus();
     win.document.title = "Apercu de l'impression en cours";
     win.document.body.innerHTML = HTML;
     win.print();
     win.close();
   }
   window.top.Printer = Printer;

Это код моего приложения, контроллер:

public ActionResult besoins(string critere = null,int page = 1, string chaine = null)
{
      int valeur;
      IPagedList temp = null;
      var commande_interne = temp;

      if (critere == "tous")
      {
          commande_interne = db.Commande_interne.Include("Livraison_interne").Include("UserProfile")
                                 .Where(u => u.valideeParDirecteur == true && u.isActive == true)
                                 .OrderBy(u => u.traitee)
                                 .ToPagedList(page, 15);

      }
      else if (critere == "livre")
      {
          commande_interne = db.Commande_interne.Include("Livraison_interne").Include("UserProfile")
                 .Where(r => r.id_liv != null && r.valideeParDirecteur == true && r.isActive == true)
                 .OrderBy(u => u.traitee)
                 .ToPagedList(page, 15);
      }
      else if (critere == "nnlivre")
      {
          commande_interne = db.Commande_interne.Include("Livraison_interne").Include("UserProfile")
                .Where(r => r.id_liv == null && r.valideeParDirecteur == true && r.isActive == true)
                .OrderBy(u => u.traitee)
                .ToPagedList(page, 15);
      }
}

Просмотр разметки:

@{
ViewBag.Title = "Besoins";
<style>
    table.well {
        background-color:#fff;
    }
</style>
}
@Html.Partial("_CommandesInternes",Model)

@section Scripts {
@Scripts.Render("~/Scripts/formAjax")
@Scripts.Render("~/Scripts/btnCriteres")
@Scripts.Render("~/Scripts/btnToolTip")
}

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

Ответы [ 2 ]

0 голосов
/ 28 октября 2019

Вы можете использовать имя пакета NuGet "iTextSharp" (Install-Package iTextSharp -Version 5.5.13.1) для преобразования HTML в PDF. С его помощью вы можете отформатировать свой PDF и загрузить его на стороне клиента.

0 голосов
/ 28 октября 2019

Таблица более или менее HTML, так что вы можете использовать бесплатный конвертер HTML в PDF из SelectPdf (http://selectpdf.com/community-edition/).. Он имеет очень хорошую документацию.

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