Przejdź do treści stopki
POMOC .NET

Jak generować raporty PDF przy użyciu ASP.NET

W programowaniu aplikacji Enterprise generowanie aktywnych raportów jest często kluczową funkcją wymaganą przez firmy z różnych branż. Niezależnie od tego, czy chodzi o sprawozdania finansowe, podsumowania sprzedaży czy raporty analityczne, możliwość szybkiego i wydajnego tworzenia raportów jest niezbędna. ASP.NET, szeroko stosowany framework do tworzenia stron internetowych opracowany przez firmę Microsoft, oferuje solidne narzędzia i biblioteki do tworzenia dynamicznych i interaktywnych aplikacji internetowych, w tym funkcje umożliwiające płynne generowanie raportów. W tym artykule zagłębimy się w zawiłości generowania raportów na platformie .NET, badając narzędzia do raportowania .NET, techniki i najlepsze praktyki. Przyjrzymy się również bibliotece do generowania raportów PDF o nazwie IronPDF firmy Iron Software, którą można łatwo zintegrować z aplikacjami do raportowania ASP.NET.

Jak generować raporty PDF przy użyciu ASP.NET

  1. Utwórz aplikację Visual Studio .NET Core
  2. Pobierz i zainstaluj bibliotekę do generowania raportów PDF: IronPDF
  3. Wygeneruj raport jako dokument HTML
  4. Wygeneruj raport PDF przy użyciu biblioteki IronPDF

Zrozumienie generowania raportów w ASP.NET

Generowanie raportów w ASP.NET polega na tworzeniu dynamicznych raportów, które można wyświetlać w sieci lub eksportować w różnych formatach, takich jak PDF, Excel lub CSV. ASP.NET oferuje kilka sposobów na osiągnięcie tego celu, w tym techniki po stronie serwera i po stronie klienta. Jednak podejście po stronie serwera jest częściej stosowane ze względu na swoją prostotę, bezpieczeństwo i kompatybilność.

Najlepsze praktyki dotyczące generowania raportów w ASP.NET

  • Optymalizacja pobierania danych

    Efektywne pobieranie danych ma kluczowe znaczenie dla raportowania wydajności rozwiązania. Pobieraj tylko dane niezbędne do generowania raportów, aby zminimalizować obciążenie bazy danych i poprawić szybkość działania. Wykorzystaj techniki takie jak paginacja, filtrowanie i buforowanie, aby zoptymalizować procesy pobierania danych.

  • Użyj procedur przechowywanych

    W miarę możliwości należy używać procedur przechowywanych do złożonych operacji pobierania danych w raportach. Procedury przechowywane mogą poprawić wydajność, zwiększyć bezpieczeństwo poprzez zapobieganie atakom typu SQL injection oraz ułatwić konserwację poprzez scentralizowanie logiki dostępu do danych.

  • Parametryzacja zapytań

    Parametryzuj zapytania SQL, aby umożliwić dynamiczne filtrowanie i sortowanie danych w raportach. Należy unikać bezpośredniego łączenia danych wprowadzanych przez użytkownika z zapytaniami SQL, aby zmniejszyć ryzyko luk w zabezpieczeniach związanych z wstrzyknięciem kodu SQL. Zamiast tego należy używać zapytań parametrycznych lub frameworków ORM, które automatycznie obsługują parametryzację.

  • Wprowadź paginację

    Jeśli raporty zawierają duże zbiory danych, należy zastosować paginację, aby wyświetlać dane w łatwych do opanowania fragmentach. Paginacja raportów poprawia wydajność poprzez zmniejszenie ilości danych przesyłanych między serwerem a klientem, zwiększa użyteczność, zapobiegając przytłoczeniu użytkowników nadmierną ilością danych, oraz ułatwia szybsze renderowanie raportów przy użyciu przeglądarki raportów lub kreatora raportów dla użytkowników końcowych.

  • Płynne przetwarzanie dużych zbiorów danych

    W przypadku pracy z dużymi zbiorami danych należy obchodzić się z nimi w sposób optymalny, aby uniknąć wąskich gardeł wydajnościowych i problemów z pamięcią. Rozważ wdrożenie przetwarzania po stronie serwera lub technik strumieniowania, aby efektywnie przetwarzać i renderować duże zbiory danych bez nadmiernego zużycia zasobów serwera lub powodowania przekroczenia limitów czasu przeglądarki.

  • Raporty dotyczące pamięci podręcznej

    Buforuj często wywoływane raporty, aby zmniejszyć obciążenie serwera i poprawić szybkość działania. Wdrażaj mechanizmy buforowania na różnych poziomach, takie jak buforowanie danych, buforowanie wyników lub buforowanie całych stron, w zależności od charakteru raportów i wzorców ich użytkowania. Skonfiguruj zasady wygasania pamięci podręcznej, aby zapewnić aktualność danych w pamięci podręcznej.

  • Optymalizacja układów raportów

    Projektuj układy raportów z myślą o użyteczności i czytelności. Dane należy uporządkować w logiczny sposób, używać jasnych i opisowych etykiet oraz stosować elementy wizualne, takie jak kolory i ikony, aby ułatwić interpretację danych. Zoptymalizuj układy raportów zarówno do przeglądania online, jak i do drukowania, aby zapewnić spójne renderowanie na różnych nośnikach.

  • Zapewnij opcje eksportu

    Zapewnij użytkownikom możliwość eksportowania raportów do różnych formatów, takich jak PDF, Excel, WORD lub CSV. Zapewnienie opcji eksportu zwiększa użyteczność aplikacji, umożliwiając użytkownikom udostępnianie, analizowanie i archiwizowanie danych raportów w preferowanych formatach. Należy korzystać z narzędzi do raportowania lub bibliotek obsługujących wiele formatów eksportu lub w razie potrzeby wdrożyć niestandardową funkcjonalność eksportu.

  • Bezpieczny dostęp do raportów

    Wprowadź mechanizmy uwierzytelniania i autoryzacji w celu kontrolowania dostępu do poufnych raportów i wielu źródeł danych. Należy upewnić się, że tylko upoważnieni użytkownicy mają uprawnienia do przeglądania, generowania lub eksportowania raportów zawierających informacje poufne lub zastrzeżone. Rozważ szyfrowanie danych serwera raportów podczas przesyłania i przechowywania, aby chronić je przed nieuprawnionym dostępem.

  • Monitorowanie i optymalizacja wydajności

    Na bieżąco monitoruj wydajność procesów generowania raportów i identyfikuj obszary wymagające optymalizacji. Użyj narzędzi do profilowania wydajności, aby analizować zapytania do bazy danych, czasy przetwarzania po stronie serwera oraz wydajność renderowania po stronie klienta. Zoptymalizuj indeksy baz danych, plany wykonywania zapytań i strategie buforowania w oparciu o wskaźniki wydajności, aby osiągnąć optymalną wydajność generowania raportów.

Przestrzegając tych najlepszych praktyk, możesz zapewnić wydajne, bezpieczne i przyjazne dla użytkownika generowanie raportów w swoich aplikacjach ASP.NET, umożliwiając użytkownikom skuteczne uzyskiwanie praktycznych wniosków na podstawie ich danych.

Narzędzia do raportowania powszechnie używane z ASP.NET Core

  • Microsoft SQL Server Reporting Services (SSRS)

    Microsoft SQL Server Reporting Services (SSRS) to kompleksowa platforma do tworzenia raportów oferowana przez firmę Microsoft w ramach Suite narzędzi SQL Server. Serwer raportów SSRS umożliwia firmom tworzenie, zarządzanie i dostarczanie szerokiej gamy interaktywnych i atrakcyjnych wizualnie raportów, pomagając organizacjom w podejmowaniu świadomych decyzji w oparciu o analizę danych.

  • DevExpress Reporting

    DevExpress oferuje kompleksowy zestaw narzędzi do raportowania dla .NET Core, w tym projektant raportów, kontrolki do wizualizacji danych oraz funkcje eksportu. Zapewnia bogaty zestaw funkcji do tworzenia interaktywnych i atrakcyjnych wizualnie raportów.

  • Syncfusion Reporting

    Syncfusion oferuje Suite narzędzi do raportowania zgodnych z .NET Core, w tym projektant raportów, przeglądarkę raportów i serwer raportów. Obsługuje różne źródła danych i formaty eksportu, dzięki czemu nadaje się do zróżnicowanych potrzeb w zakresie raportowania.

  • Telerik Reporting

    Telerik Reporting to kolejny popularny wybór wśród programistów .NET Core. Oferuje przyjazny dla użytkownika kreator raportów, obsługę różnych źródeł danych oraz płynną integrację z aplikacjami .NET Core. Telerik Reporting oferuje również funkcje takie jak interaktywne raporty i eksport do różnych formatów.

  • GrapeCity ActiveReports

    ActiveReports firmy GrapeCity to bogaty w funkcje zestaw narzędzi do tworzenia raportów, który obsługuje ASP.NET Core. Oferuje kreator raportów typu "przeciągnij i upuść", rozbudowane opcje wizualizacji danych oraz obsługę eksportu raportów do formatów PDF, Excel i innych.

  • Crystal Reports

    Crystal Reports, obecnie należący do SAP, jest od dawna stosowanym rozwiązaniem do tworzenia raportów w ekosystemie .NET. Chociaż Crystal Reports istnieje już od dłuższego czasu, nadal obsługuje ASP.NET Core poprzez rozszerzenia innych firm i zapewnia funkcje Builder do projektowania, przeglądania i eksportowania raportów.

  • Stimulsoft Reports

    Stimulsoft Reports to wszechstronne narzędzie do tworzenia raportów, które obsługuje ASP.NET Core. Oferuje projektant raportów, przeglądarkę oraz szerokie możliwości dostosowywania do tworzenia raportów.

Przy wyborze narzędzia do raportowania dla .NET Core należy wziąć pod uwagę takie czynniki, jak łatwość integracji, zestaw funkcji, koszty licencji, obsługa źródeł danych i formatów eksportu oraz opinie społeczności/użytkowników. Ponadto wypróbowanie wersji próbnych lub demonstracyjnych może pomóc w ocenie, czy dane narzędzie do raportowania spełnia konkretne wymagania Twojego projektu.

Przedstawiamy bibliotekę IronPDF

IronPDF, opracowany przez IronSoftware, wyróżnia się jako wszechstronne i kompleksowe rozwiązanie w ekosystemie .NET do generowania, modyfikowania i odczytywania dokumentów PDF. Ta biblioteka wieloplatformowa umożliwia programistom płynne tworzenie, edytowanie i podpisywanie plików PDF, niezależnie od materiału źródłowego, czy to HTML, obrazów, czy innych formatów dokumentów. Poniżej przedstawiono kilka kluczowych zalet IronPDF.

  • Konwersja HTML do PDF

    IronPDF ułatwia konwersję treści HTML, w tym CSS, obrazów i JavaScript, na dopracowane dokumenty PDF. Niezależnie od tego, czy chodzi o renderowanie stron internetowych, widoków Razor (takich jak Blazor Server), CSHTML (MVC), ASPX (WebForms) czy XAML (MAUI), IronPDF zapewnia płynną konwersję do formatu PDF.

  • Renderowanie z dokładnością do piksela

    W przypadku IronPDF najważniejsza jest dokładność renderowania. Zachowuje wizualną integralność treści dzięki obsłudze kodowania znaków UTF-8, podstawowych adresów URL, kodowania zasobów, a nawet logowania do stron internetowych za pomocą protokołu TLS, zapewniając, że ostateczny plik PDF wiernie odzwierciedla oryginalną treść.

  • Szablony stron i ustawienia

    Dostosuj swoje dokumenty PDF do swoich dokładnych specyfikacji, korzystając z szerokich możliwości dostosowywania oferowanych przez IronPDF. Dodaj nagłówki, stopki, numery stron i podziały stron, aby poprawić czytelność i nawigację. Ponadto IronPDF umożliwia tworzenie responsywnych układów, niestandardowych rozmiarów papieru, orientacji oraz oferuje szeroki wybór opcji kolorystycznych.

  • Edycja i adnotacje

    IronPDF zapewnia rozbudowane możliwości edycji metadanych plików PDF, podpisywania dokumentów cyfrowo oraz dodawania adnotacji. Łatwo scalaj, dziel, dodawaj, kopiuj i usuwaj strony w plikach PDF. Dzięki IronPDF użytkownicy mogą interaktywnie wypełniać formularze i dodawać adnotacje, co usprawnia współpracę i zarządzanie dokumentami.

  • Obsługa wielu platform

    Jedną z istotnych zalet IronPDF jest jego szeroka kompatybilność z różnymi platformami. Niezależnie od tego, czy tworzysz oprogramowanie w środowisku .NET Core (wersje 8, 7, 6, 5 i 3.1+), .NET Standard (wersja 2.0+) czy .NET Framework (wersja 4.6.2+), IronPDF zapewni Ci wsparcie. Ponadto zapewnia płynne działanie w środowiskach Windows, Linux i macOS, gwarantując elastyczność i dostępność w różnych ekosystemach programistycznych.

Krok 1: Utwórz aplikację Visual Studio ASP.NET Core.NET Core

Zacznij od utworzenia aplikacji .NET Core w programie Visual Studio.

Wybierz szablon pokazany poniżej.

Jak generować raporty PDF przy użyciu ASP.NET: Rysunek 1 — Szablon aplikacji internetowej ASP.NET Core

Wybierz nazwę aplikacji i lokalizację.

Jak generować raporty PDF przy użyciu ASP.NET: Rysunek 2 – Konfiguracja projektu

Wybierz żądane wersje .NET i kliknij Utwórz.

Jak generować raporty PDF przy użyciu ASP.NET: Rysunek 3 – Docelowa platforma

W ten sposób powstanie aplikacja internetowa ASP.NET oparta na Blazorze, jak poniżej.

Jak generować raporty PDF przy użyciu ASP.NET: Rysunek 4 – Aplikacja Blazor

Krok 2: Pobierz i zainstaluj bibliotekę do generowania raportów PDF: IronPDF

Bibliotekę IronPDF można zainstalować w projekcie za pomocą menedżera pakietów Visual Studio, jak pokazano poniżej.

Jak generować raporty PDF przy użyciu ASP.NET: Rysunek 5 – IronPDF

Zobacz też poniżej w galerii NuGet IronPDF NuGet Gallery.

Jak generować raporty PDF przy użyciu ASP.NET: Rysunek 6 — Galeria NuGet

dotnet add package IronPdf --version 2024.4.2

Krok 3: Wygeneruj raport jako dokument HTML

Raporty można generować przy użyciu różnych metod i narzędzi, jak wyjaśniono w powyższej sekcji. Na potrzeby demonstracji rozważmy poniższy raport, który został już utworzony przy użyciu jednego z tych narzędzi. Utworzony raport wyświetlany w aplikacjach .NET Core można również zapisać w formacie HTML.

Jak generować raporty PDF przy użyciu ASP.NET: Rysunek 7 – Report Writer

Niniejszy raport jest przykładowym plikiem HTML, ale można go zastąpić dowolnym wygenerowanym raportem.

Krok 4: Wygeneruj raport PDF przy użyciu biblioteki IronPDF

using IronPdf;

public class PdfReportGenerator
{
    public void GeneratePdf()
    {
        // Create a ChromePdfRenderer instance to convert HTML to PDF
        var renderer = new ChromePdfRenderer();

        // Render the PDF from an existing HTML file
        var pdf = renderer.RenderHtmlFileAsPdf("sample.html");

        // Save the rendered PDF to a file
        pdf.SaveAs("output.pdf");
    }
}
using IronPdf;

public class PdfReportGenerator
{
    public void GeneratePdf()
    {
        // Create a ChromePdfRenderer instance to convert HTML to PDF
        var renderer = new ChromePdfRenderer();

        // Render the PDF from an existing HTML file
        var pdf = renderer.RenderHtmlFileAsPdf("sample.html");

        // Save the rendered PDF to a file
        pdf.SaveAs("output.pdf");
    }
}
Imports IronPdf

Public Class PdfReportGenerator
	Public Sub GeneratePdf()
		' Create a ChromePdfRenderer instance to convert HTML to PDF
		Dim renderer = New ChromePdfRenderer()

		' Render the PDF from an existing HTML file
		Dim pdf = renderer.RenderHtmlFileAsPdf("sample.html")

		' Save the rendered PDF to a file
		pdf.SaveAs("output.pdf")
	End Sub
End Class
$vbLabelText   $csharpLabel

Wyjaśnienie kodu

  • ChromePdfRenderer: Tworzona jest instancja ChromePdfRenderer w celu obsługi konwersji HTML do formatu PDF.
  • RenderHtmlFileAsPdf: Ta metoda jest wywoływana w celu renderowania pliku PDF z pliku HTML.
  • SaveAs: Powstały plik PDF jest zapisywany pod nazwą output.pdf.

Wynik

Jak generować raporty PDF przy użyciu ASP.NET: Rysunek 8 – Wynik w formacie PDF

Licencjonowanie (oferta bezpłatnej wersji próbnej)

Do uruchomienia IronPDF w rozwiązaniach niezbędny jest klucz licencyjny. Umieść go w pliku appsettings.json

{
  "IronPdf.LicenseKey": "your license key"
}

Bezpłatna licencja próbna można uzyskać, rejestrując się w celu uzyskania licencji Trial za pomocą IronPDF trial license.

Wnioski

Podsumowując, ASP.NET oferuje solidną platformę do generowania dynamicznych i interaktywnych raportów dzięki wbudowanemu narzędziu do raportowania, Microsoft ReportViewer. Wykorzystując ReportViewer wraz z najlepszymi praktykami, programiści mogą usprawnić proces generowania raportów w aplikacjach ASP.NET, umożliwiając firmom podejmowanie świadomych decyzji w oparciu o praktyczne wnioski wyciągnięte z danych. Niezależnie od tego, czy chodzi o raporty finansowe, pulpity sprzedażowe czy podsumowania analityczne, ASP.NET zapewnia narzędzia i techniki niezbędne do zaspokojenia różnorodnych potrzeb w zakresie raportowania współczesnych aplikacji internetowych.

IronPDF to wszechstronna biblioteka, która zaspokoi wszystkie Twoje potrzeby związane z plikami PDF w środowisku .NET. Bogaty zestaw funkcji w połączeniu z kompatybilnością międzyplatformową sprawia, że jest to nieocenione narzędzie dla programistów pragnących płynnie zintegrować funkcjonalność PDF ze swoimi aplikacjami.

Często Zadawane Pytania

Jak wygenerować raport PDF za pomocą ASP.NET?

Możesz użyć biblioteki do generowania plików PDF, takiej jak IronPDF w ASP.NET, aby przekonwertować raporty HTML do formatu PDF. Proces ten obejmuje utworzenie aplikacji ASP.NET Core, zainstalowanie IronPDF, przygotowanie raportu jako dokumentu HTML, a następnie użycie funkcji IronPDF, takich jak ChromePdfRenderer, do wygenerowania pliku PDF.

Jakich najlepszych praktyk należy przestrzegać podczas generowania raportów w ASP.NET?

Najlepsze praktyki dotyczące generowania raportów w ASP.NET obejmują optymalizację pobierania danych, korzystanie z procedur przechowywanych, parametryzację zapytań, wdrażanie paginacji, efektywne zarządzanie dużymi zbiorami danych, buforowanie raportów, optymalizację układów raportów, zapewnienie opcji eksportu, zabezpieczenie dostępu do raportów oraz monitorowanie wydajności.

Które narzędzia do raportowania są kompatybilne z .NET Core?

Typowe narzędzia do raportowania kompatybilne z .NET Core to między innymi Microsoft SQL Server Reporting Services (SSRS), DevExpress Reporting, Syncfusion Reporting, Telerik Reporting, GrapeCity ActiveReports, Crystal Reports oraz Stimulsoft Reports.

W jaki sposób biblioteka do generowania plików PDF zapewnia dokładne renderowanie plików PDF w ASP.NET?

Biblioteka taka jak IronPDF zapewnia dokładne renderowanie plików PDF dzięki obsłudze funkcji takich jak kodowanie znaków UTF-8, adresy URL bazowe i kodowanie zasobów, które zachowują wizualną integralność oryginalnej treści HTML.

Jakie są zalety korzystania z biblioteki do generowania plików PDF w ASP.NET?

Korzystanie z biblioteki takiej jak IronPDF w ASP.NET zapewnia takie korzyści, jak konwersja HTML do PDF, renderowanie z dokładnością do piksela, dostosowywanie szablonów stron, możliwości edycji i dodawania adnotacji oraz obsługa wielu platform w różnych wersjach .NET i systemach operacyjnych.

Dlaczego zabezpieczenie dostępu do raportów w aplikacjach ASP.NET jest tak ważne?

Zabezpieczenie dostępu do raportów ma kluczowe znaczenie dla zapewnienia, że tylko uprawnieni użytkownicy mogą przeglądać, generować lub eksportować raporty zawierające poufne informacje. Można to osiągnąć za pomocą metod takich jak uwierzytelnianie, autoryzacja i szyfrowanie danych.

Jak przekonwertować zawartość HTML na plik PDF w ASP.NET?

Treści HTML można przekonwertować do formatu PDF w ASP.NET za pomocą metody RenderHtmlAsPdf biblioteki IronPDF, która umożliwia przekształcanie ciągów znaków HTML w pliki PDF. Proces ten obsługuje CSS i JavaScript, aby zapewnić, że wynik jest wierny oryginalnemu projektowi.

Co należy wziąć pod uwagę przy wyborze narzędzia do raportowania dla .NET Core?

Wybierając narzędzie do raportowania dla .NET Core, należy wziąć pod uwagę takie czynniki, jak łatwość integracji, zestaw funkcji, koszty licencji, obsługa różnych źródeł danych i formatów eksportu oraz opinie społeczności. Ocena wersji próbnych lub demonstracyjnych może również pomóc w określeniu przydatności danego narzędzia.

Jacob Mellor, Dyrektor Technologiczny @ Team Iron
Dyrektor ds. technologii

Jacob Mellor jest Chief Technology Officer w Iron Software i wizjonerskim inżynierem, pionierem technologii C# PDF. Jako pierwotny deweloper głównej bazy kodowej Iron Software, kształtuje architekturę produktów firmy od jej początku, przekształcając ją wspólnie z CEO Cameron Rimington w firmę liczą...

Czytaj więcej

Zespol wsparcia Iron

Jestesmy online 24 godziny, 5 dni w tygodniu.
Czat
Email
Zadzwon do mnie