Stwórz plik PDF z przewodnika Blazor
IronPDF, renomowana biblioteka C#, współpracuje z aplikacjami Blazor. Ten przegląd poprowadzi Cię przez proces używania IronPDF do osadzenia raportu PDF w aplikacji Blazor, pokazując jego płynną integrację i skuteczność.
Jak utworzyć plik PDF w Blazorze
- Utwórz nowy projekt Blazor w Visual Studio
- Zainstaluj bibliotekę HTML-to-PDF dla aplikacji Blazor
- Tworzenie dokumentów PDF ze stron internetowych na podstawie adresu URL
- Tworzenie dokumentów PDF z ciągów znaków HTML
1. Funkcje IronPDF
Programiści mogą szybko tworzyć, odczytywać i przetwarzać dokumenty PDF przy pomocy solidnej biblioteki IronPDF .NET PDF. IronPDF posiada wbudowany silnik Chrome i oferuje bogactwo praktycznych i potężnych możliwości. Obejmują one możliwość konwersji HTML5, JavaScript, CSS i obrazów do formatu PDF, możliwość dodawania unikalnych nagłówków i stopek do dokumentów PDF oraz możliwość tworzenia plików PDF dokładnie tak, jak wyglądają w przeglądarce internetowej. IronPDF obsługuje różne technologie internetowe, w tym HTML, ASPX, Razor Pages i frameworki MVC.
Kluczowe cechy IronPDF są następujące:
- IronPDF zapewnia pełną kontrolę nad tworzeniem i modyfikowaniem plików PDF w aplikacjach .NET C#
- IronPDF może generować pliki PDF stron internetowych na podstawie ich adresów URL przy użyciu określonych konfiguracji User-Agent, Proxy, Header i Cookie.
- IronPDF może generować pliki PDF dla stron internetowych znajdujących się za formularzami logowania przy użyciu zmiennych formularza
- IronPDF może wyodrębniać i/lub usuwać zdjęcia z istniejących plików PDF
- IronPDF umożliwia dodawanie tekstu, zdjęć, zakładek, znaków wodnych i innych elementów do dokumentów PDF
- IronPDF ułatwia łączenie i dzielenie stron jednego lub wielu dokumentów PDF.
- IronPDF może przetwarzać zasoby stron internetowych, takie jak JavaScript, CSS i pliki multimedialne, i renderować je do dokumentów PDF tak, jak wyglądałyby w przeglądarce.
- IronPDF obsługuje wszystkie platformy .NET Framework, w tym .NET Core, .NET Standard itp.
2. Czym jest Blazor?
Blazor to framework aplikacji internetowych, który umożliwia tworzenie aplikacji internetowych po stronie klienta w językach C# i HTML przy użyciu Web Assembly.
Aplikacje Web Assembly są wysyłane do przeglądarki w formacie instrukcji binarnych, które mogą działać z prędkością zbliżoną do natywnej. Stworzyło to nowe możliwości dla języków takich jak C# do działania w przeglądarce.
Tworzenie nowego projektu w Visual Studio
Aby rozpocząć, otwórz aplikację Microsoft Visual Studio i wybierz opcję "Nowy projekt" z menu Plik. Następnie wybierz "Blazor Server App".
Tworzenie nowego projektu w Visual Studio
Wprowadź nazwę projektu i wybierz ścieżkę do pliku. Następnie kliknij przycisk Utwórz.
Wybór nazwy i lokalizacji nowej aplikacji Blazor
Wybierz żądany .NET Framework (w tym samouczku użyjemy .NET Framework 6.0), jak pokazano na poniższym zrzucie ekranu:
Tworzenie nowego projektu w Visual Studio z wykorzystaniem .NET Framework 6.0
Microsoft Visual Studio wygeneruje teraz strukturę tej aplikacji Blazor.
Następnie dodaj bibliotekę IronPDF do tego nowego projektu.
3. Zainstaluj bibliotekę IronPDF
Bibliotekę IronPDF można pobrać i zainstalować na cztery sposoby:
- Korzystanie z menedżera pakietów NuGet w Visual Studio
- Korzystanie z wiersza poleceń programu Visual Studio
- Pobieranie bezpośrednio ze strony NuGet
- Pobieranie bezpośrednio ze strony internetowej IronPDF
3.1 Korzystanie z menedżera pakietów NuGet w Visual Studio
Visual Studio udostępnia menedżera pakietów NuGet, który ułatwia instalowanie bibliotek bezpośrednio w projektach. Poniższy zrzut ekranu pokazuje, jak otworzyć menedżera pakietów NuGet.
Dostęp do menedżera pakietów NuGet w Visual Studio
Użyj pola wyszukiwania w zakładce Przeglądaj, aby wyszukać "IronPDF", jak pokazano na poniższym zrzucie ekranu:
Wyszukiwanie biblioteki IronPDF w interfejsie graficznym menedżera pakietów NuGet
Na powyższym obrazku widoczna jest lista powiązanych wyników wyszukiwania. Wybierz wymagane opcje, aby zainstalować pakiet w swoim projekcie.
3.2 Korzystanie z wiersza poleceń programu Visual Studio
W programie Visual Studio przejdź do menu Narzędzia > Menedżer pakietów NuGet > Konsola menedżera pakietów
Wprowadź następujący wiersz w zakładce Konsola menedżera pakietów:
Install-Package IronPdf
Pakiet zostanie teraz pobrany i zainstalowany w bieżącym projekcie.
Instalacja biblioteki IronPDF za pomocą konsoli NuGet Package Manager Console
3.3 Pobieranie bezpośrednio ze strony NuGet
Trzecim sposobem instalacji biblioteki IronPDF jest pobranie pakietu NuGet bezpośrednio ze strony internetowej.
Przejdź do strony NuGet poświęconej IronPDF.
- Kliknij opcję "Pobierz pakiet" w menu po prawej stronie.
- Otwórz pobrany pakiet w swoim systemie plików. Zostanie zainstalowany automatycznie.
- Odśwież rozwiązanie i zacznij z niego korzystać w swoim projekcie.
3.4 Pobieranie bezpośrednio ze strony internetowej IronPDF
Odwiedź stronę internetową IronPDF, aby bezpośrednio pobrać pakiet IronPDF.
Po pobraniu wykonaj następujące kroki, aby dodać pakiet do swojego projektu:
- Kliknij prawym przyciskiem myszy projekt w oknie rozwiązania.
- Wybierz opcję "Dodaj" > "Odwołanie", a następnie przejdź do lokalizacji biblioteki, którą wcześniej pobrałeś.
- Kliknij OK, aby dodać bibliotekę jako odwołanie.
4. Tworzenie dokumentów PDF w aplikacji Blazor Server
Aplikacja Blazor w tym samouczku będzie korzystać z IronPDF do pobierania treści HTML strony internetowej na podstawie jej adresu URL i konwertowania jej na dokument PDF.
Wprowadź poniższy kod źródłowy do pliku .razor znajdującego się w projekcie.
@using IronPdf
@code {
/// <summary>
/// This method exports data by converting a URL to a PDF file and initiating its download.
/// </summary>
public async Task ExportData()
{
try
{
string fileName = "Demo.pdf";
var renderer = new ChromePdfRenderer();
// Render the contents of the URL as a PDF document
var pdf = renderer.RenderUrlAsPdf("https://localhost:7018/fetchdata");
// Save the PDF using a JavaScript function
await JSRuntime.InvokeVoidAsync("saveAsFile", fileName, Convert.ToBase64String(pdf.Stream.ToArray()));
}
catch (Exception ex)
{
// Handle any exceptions that may occur
Console.Error.WriteLine($"Error in ExportData: {ex.Message}");
}
}
}
@using IronPdf
@code {
/// <summary>
/// This method exports data by converting a URL to a PDF file and initiating its download.
/// </summary>
public async Task ExportData()
{
try
{
string fileName = "Demo.pdf";
var renderer = new ChromePdfRenderer();
// Render the contents of the URL as a PDF document
var pdf = renderer.RenderUrlAsPdf("https://localhost:7018/fetchdata");
// Save the PDF using a JavaScript function
await JSRuntime.InvokeVoidAsync("saveAsFile", fileName, Convert.ToBase64String(pdf.Stream.ToArray()));
}
catch (Exception ex)
{
// Handle any exceptions that may occur
Console.Error.WriteLine($"Error in ExportData: {ex.Message}");
}
}
}
[using] ReadOnly Property code() As IronPdf
''' <summary>
''' This method exports data by converting a URL to a PDF file and initiating its download.
''' </summary>
'INSTANT VB TODO TASK: Local functions are not converted by Instant VB:
' public async Task ExportData()
' {
' try
' {
' string fileName = "Demo.pdf";
' var renderer = New ChromePdfRenderer();
'
' ' Render the contents of the URL as a PDF document
' var pdf = renderer.RenderUrlAsPdf("https://localhost:7018/fetchdata");
'
' ' Save the PDF using a JavaScript function
' await JSRuntime.InvokeVoidAsync("saveAsFile", fileName, Convert.ToBase64String(pdf.Stream.ToArray()));
' }
' catch (Exception ex)
' {
' ' Handle any exceptions that may occur
' Console.@Error.WriteLine(string.Format("Error in ExportData: {0}", ex.Message));
' }
' }
End Property
Powyższy fragment kodu wykorzystuje dwie metody do generowania dokumentów PDF z HTML. Pierwsza z nich to metoda RenderUrlAsPdf firmy IronPDF, która pobiera zawartość HTML z podanego adresu URL i konwertuje ją do formatu PDF.
Drugą metodą jest metoda statyczna JSRuntime.InvokeVoidAsync, która uruchamia silnik JavaScript przeglądarki w celu wywołania funkcji JavaScript w zakresie strony internetowej, która zapisuje zawartość pliku PDF do pliku w systemie plików klienta.
Poniżej znajduje się ta funkcja JavaScript:
<script type="text/javascript">
/**
* Saves the PDF data as a file on the client's system.
* @param {string} filename - The name of the file to be created.
* @param {string} bytesBase64 - The Base64 encoded string of the PDF data.
*/
function saveAsFile(filename, bytesBase64) {
if (navigator.msSaveBlob) {
// Download the document in Microsoft Edge browser
var data = window.atob(bytesBase64);
var bytes = new Uint8Array(data.length);
for (var i = 0; i < data.length; i++) {
bytes[i] = data.charCodeAt(i);
}
var blob = new Blob([bytes.buffer], { type: "application/octet-stream" });
navigator.msSaveBlob(blob, filename);
window.navigator.msSaveOrOpenBlob(blob);
}
else {
var link = document.createElement('a');
link.download = filename;
link.href = "data:application/octet-stream;base64," + bytesBase64;
document.body.appendChild(link); // Needed for Firefox
link.click();
document.body.removeChild(link);
}
}
</script>
<script type="text/javascript">
/**
* Saves the PDF data as a file on the client's system.
* @param {string} filename - The name of the file to be created.
* @param {string} bytesBase64 - The Base64 encoded string of the PDF data.
*/
function saveAsFile(filename, bytesBase64) {
if (navigator.msSaveBlob) {
// Download the document in Microsoft Edge browser
var data = window.atob(bytesBase64);
var bytes = new Uint8Array(data.length);
for (var i = 0; i < data.length; i++) {
bytes[i] = data.charCodeAt(i);
}
var blob = new Blob([bytes.buffer], { type: "application/octet-stream" });
navigator.msSaveBlob(blob, filename);
window.navigator.msSaveOrOpenBlob(blob);
}
else {
var link = document.createElement('a');
link.download = filename;
link.href = "data:application/octet-stream;base64," + bytesBase64;
document.body.appendChild(link); // Needed for Firefox
link.click();
document.body.removeChild(link);
}
}
</script>
Powyższa funkcja JavaScript odbiera dane Base64 z Blazora i konwertuje je na obiekt blob przed zapisaniem w lokalizacji po stronie klienta.
Alternatywnie, do zapisywania dokumentów PDF w lokalnej pamięci przeglądarki można również użyć metody SaveAs z klasy ChromePdfRenderer.
5. Utwórz dokument PDF na podstawie ciągu znaków HTML
Poniższy fragment kodu pokazuje, jak przekształcić ciąg znaków HTML w dokument.
@using IronPdf
@code {
/// <summary>
/// Demonstrates turning an HTML string into a PDF document.
/// </summary>
public void GeneratePdfFromHtmlString()
{
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello world!!</h1>");
// You can save the generated PDF locally
pdf.SaveAs("HelloWorld.pdf");
}
}
@using IronPdf
@code {
/// <summary>
/// Demonstrates turning an HTML string into a PDF document.
/// </summary>
public void GeneratePdfFromHtmlString()
{
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello world!!</h1>");
// You can save the generated PDF locally
pdf.SaveAs("HelloWorld.pdf");
}
}
[using] ReadOnly Property code() As IronPdf
''' <summary>
''' Demonstrates turning an HTML string into a PDF document.
''' </summary>
'INSTANT VB TODO TASK: Local functions are not converted by Instant VB:
' public void GeneratePdfFromHtmlString()
' {
' var renderer = New ChromePdfRenderer();
' var pdf = renderer.RenderHtmlAsPdf("<h1>Hello world!!</h1>");
'
' ' You can save the generated PDF locally
' pdf.SaveAs("HelloWorld.pdf");
' }
End Property
W powyższym przykładzie użyto metody instancji RenderHtmlAsPdf do przekształcenia dowolnego ciągu znaków HTML w zawartość pliku PDF. Ponadto w opisanych wcześniej procedurach można użyć metody SaveAs, aby zapisać tę zawartość na komputerze klienta.
Aplikacja do generowania plików PDF w Blazorze utworzona w tym samouczku
Powyższy zrzut ekranu przedstawia aplikację internetową opracowaną w ramach tego samouczka. Kliknięcie przycisku Pobierz uruchomi kod C# w celu wygenerowania treści PDF oraz funkcję JavaScript w celu pobrania treści PDF po stronie klienta.
Wnioski
W tym artykule pokazano, jak stworzyć aplikację internetową Blazor, która wykorzystuje bibliotekę IronPDF do generowania plików PDF ze stron internetowych.
IronPDF nie jest oprogramowaniem typu open source, jednak bezpłatny klucz próbny pozwala na korzystanie z niego w środowisku produkcyjnym bez znaków wodnych.
Często Zadawane Pytania
Jak zintegrować bibliotekę PDF z aplikacją po stronie serwera Blazor?
Możesz zintegrować bibliotekę PDF z aplikacją po stronie serwera Blazor, korzystając z IronPDF. Najpierw utwórz projekt Blazor w Visual Studio, a następnie zainstaluj bibliotekę IronPDF za pomocą menedżera pakietów NuGet lub wiersza poleceń. IronPDF pozwala na płynne generowanie dokumentów PDF z treści HTML.
Jakie metody są dostępne do generowania plików PDF z HTML w aplikacji Blazor?
W aplikacji Blazor można użyć metody RenderUrlAsPdf biblioteki IronPDF do konwersji adresów URL stron internetowych na pliki PDF lub metody RenderHtmlAsPdf do generowania plików PDF bezpośrednio z ciągów znaków HTML. Metody te zapewniają elastyczność w tworzeniu dokumentów PDF z różnych źródeł HTML.
Jak zapisać plik PDF w systemie plików klienta w aplikacji Blazor?
Aby zapisać plik PDF w systemie plików klienta w aplikacji Blazor, można użyć funkcji JavaScript do konwersji danych PDF na obiekt blob i zainicjowania pobierania. IronPDF zapewnia niezbędne narzędzia do generowania pliku PDF, który następnie może być obsługiwany za pomocą JavaScript po stronie klienta.
Jak wygląda proces tworzenia projektu po stronie serwera w Blazorze w Visual Studio?
Aby utworzyć projekt po stronie serwera Blazor w programie Visual Studio, należy wybrać opcję „Nowy projekt” z menu Plik, wybrać „Aplikacja serwerowa Blazor”, określić nazwę i lokalizację projektu oraz wybrać odpowiednią wersję .NET Framework. Taka konfiguracja pozwala na integrację dodatkowych bibliotek, takich jak IronPDF for .NET, w celu rozszerzenia funkcjonalności.
Czy za pomocą tej biblioteki mogę konwertować zawartość JavaScript i CSS w kodzie HTML do formatu PDF?
Tak, za pomocą IronPDF można konwertować zawartość JavaScript i CSS w HTML na PDF. Obsługuje on renderowanie zawartości HTML5, CSS i JavaScript, umożliwiając generowanie kompleksowych dokumentów PDF, które zachowują układ i styl oryginalnych stron internetowych.
Jakie kroki należy podjąć w przypadku, gdy generowanie plików PDF w Blazorze nie działa zgodnie z oczekiwaniami?
Jeśli generowanie plików PDF w Blazorze nie działa zgodnie z oczekiwaniami, upewnij się, że biblioteka IronPDF jest poprawnie zainstalowana w projekcie. Sprawdź, czy treść HTML jest poprawnie sformatowana i dostępna. Dodatkowo sprawdź, czy w konsoli przeglądarki nie ma błędów JavaScript, które mogłyby wpływać na proces renderowania plików PDF.
Jak mogę zapewnić, że moje dokumenty PDF będą zawierały nagłówki i stopki podczas korzystania z biblioteki PDF?
Aby dołączyć nagłówki i stopki do dokumentów PDF przy użyciu IronPDF, można skonfigurować opcje renderowania w celu dodania niestandardowej zawartości nagłówków i stopek. Pozwala to na dołączenie dodatkowych informacji, takich jak numery stron lub tytuły, do pliku PDF.
Czy w aplikacji Blazor można generować pliki PDF dla stron wymagających uwierzytelnienia?
Tak, IronPDF może generować pliki PDF dla stron wymagających uwierzytelnienia w aplikacji Blazor. Aby uzyskać dostęp do treści o ograniczonym dostępie przed konwersją do formatu PDF przy użyciu funkcji biblioteki, konieczne będzie zarządzanie plikami cookie lub tokenami uwierzytelniającymi.
Czy IronPDF jest kompatybilny z .NET 10 i jakie korzyści płyną z jego użycia w środowisku .NET 10?
Tak, IronPDF jest w pełni kompatybilny z .NET 10 — działa od razu po instalacji, bez konieczności stosowania niestandardowych rozwiązań, shimów czy przestarzałych dokumentacji API. .NET 10 wprowadza aktualizacje do ASP.NET Core i Blazor, w tym zwiększoną wydajność, lepsze zarządzanie zależnościami, ulepszoną obsługę odwołań do frameworków oraz lepszą izolację JavaScript, co przynosi korzyści dla procesów generowania plików PDF przy użyciu stron Razor, adresów URL lub treści HTML.
W jaki sposób użycie IronPDF z .NET 10 poprawia wydajność i efektywność działania?
Korzystanie z IronPDF w środowisku .NET 10 pozwala wykorzystać kilka ulepszeń środowiska uruchomieniowego, takich jak dewirtualizacja metod interfejsu tablicowego, analiza escape dla struktur, ulepszone optymalizacje JIT oraz obsługa instrukcji AVX-512. Ulepszenia te zmniejszają alokację pamięci, obniżają obciążenie związane z czyszczeniem pamięci oraz przyspieszają zadania takie jak renderowanie HTML i manipulowanie plikami PDF.




