IRONSOFTWAREHOME
FILMY

Jak przekonwertować Markdown na PDF

Curtis Chau
Curtis Chau
Updated: 18 maja 2026

ExpertPdf to komercyjny konwerter HTML-to-PDF dla .NET opublikowany przezOutside Software Inc.Najnowsza wersja na nuget.org to v20.1.0 (kwiecień 2025), więc suite wciąż jest aktywnie dystrybuowane — tarcia są w kształcie produktu, nie w porzuceniu.ExpertPdfopiera się na silniku Trident (IE) oraz silniku "WebKit2" dodanym w wersji v12.2; nowoczesny Chromium nie jest domyślny. Publiczne listy ComponentSource historycznie pokazywały HtmlToPdf Converter w cenie około 550 $–1 200 $ za poziom (zweryfikuj bezpośrednio z dostawcą). Zestaw narzędzi jest również podzielony na oddzielne pakiety NuGet — HtmlToPdf, MergePdf, PdfSecurity, SplitPdf, PdfToImage, PdfCreator — każdy zazwyczaj licencjonowany oddzielnie. Przewodnik ten zapewnia krok po kroku ścieżkę migracji zExpertPdfdo IronPDF, biblioteki PDF dla .NET z najnowszym renderowaniem Chromium, częstymi wydaniami i all-in-one pakietem.

Dlaczego warto przejść zExpertPdfna IronPDF?

ExpertPdf stwarza kilka wyzwań, które skłaniają zespoły programistów do rozważenia nowoczesnych alternatyw. Zrozumienie tych kwestii jest niezbędne do zaplanowania strategii migracji.

Problemy z ExpertPdf

  1. Rzadka dokumentacja, powolne tempo: Referencje dokumentacji istnieją na html-to-pdf.net, ale samouczki, artykuły o funkcjach i wpisy changeloga są rzadkie. Notatki wydania dla wersji v20.1 (kwiecień 2025) wymieniają "poprawki błędów i ulepszania wydajności" — brak nagłówków z funkcjami.

  2. **Starsze kanały renderowania:**ExpertPdfdostarcza silnik Trident (IE) plus silnik "WebKit2" dodany w wersji v12.2; nowoczesny Chromium nie jest domyślny. Funkcje CSS3 takie jak Flexbox, Grid i zmienne CSS renderują się najlepiej na silniku WebKit2 — zweryfikuj w odniesieniu do docelowego HTML przed migracją dużych zasobów.

  3. Premium pricing dla starzejącego się stosu: Publiczne listy ComponentSource historycznie pokazywały HtmlToPdf Converter w cenie około 550 $–1 200 $ za poziom (zweryfikuj bezpośrednio z dostawcą — strona zamówienia na expertpdf.net była niedostępna w momencie pisania).

  4. **Rozproszony pakiet produktów:**ExpertPdfsprzedaje oddzielne pakiety — ExpertPdf.HtmlToPdf.NetCore / ExpertPdfHtmlToPdf, ExpertPdf.MergePdf, ExpertPdf.PdfSecurity, ExpertPdf.SplitPdf, ExpertPdf.PdfToImage, ExpertPdf.PdfCreator — każdy zazwyczaj licencjonowany oddzielnie.

  5. Brak nowoczesnych natywnych celów .NET: Pakiety .NetCore są skierowane na .NET Standard 2.0 / .NET Framework 4.6.1, więc działają na .NET 5/6/7/8/9 — ale nie otrzymujesz natywnych wielo-celowych kompilacji, przyjaznych dla przycinania asemblii ani async-first API.

Porównanie architektur

AspektExpertPdfIronPDF
DostawcaOutside Software Inc."Iron Software"
Najnowsza wersja (nuget.org)v20.1.0 (Kwi 2025)Stale aktualizowane
DokumentacjaTylko dokumentacja referencyjna, rzadka dokumentacja dla samouczkówStale aktualizowane
Silnik renderującyTrident (IE) + "WebKit2" (dodano v12.2)Najnowsza wersja Chromium
Obsługa CSSCSS3 najlepiej na WebKit2; częściowo na dziedzictwiePełna obsługa CSS3 (Flexbox, Grid)
Cena~550 $–1 200 $ (zweryfikuj z dostawcą)Zobacz ironpdf.com/pricing
Model produktuFragmentowane (6+ pakietów NuGet)Biblioteka typu "wszystko w jednym"
Nowoczesny .NET.NET Standard 2.0 (działa na .NET 5-9).NET 6/7/8/9+ celowanie wielozadaniowe
Obsługa asynchronicznaOgraniczonePełna obsługa async/await

Kluczowe korzyści z migracji

  1. Nowoczesne renderowanie: najnowszy silnik Chromium zapewniający idealną jakość obrazu
  2. Pakiet "wszystko w jednym": generowanie plików PDF, scałanie, zabezpieczenia, wyodrębnianie w jednym pakiecie NuGet
  3. Aktywny rozwój: comiesięczne aktualizacje zawierające nowe funkcje i poprawki bezpieczeństwa
  4. Lepsza dokumentacja: kompleksowe samouczki i przykłady
  5. Prawdziwa wielopłatformowość: obsługa systemów Windows, Linux, macOS oraz Docker

Przygotowania przed migracją

Wymagania wstępne

Upewnij się, że Twoje środowisko spełnia następujące wymagania:

  • .NET Framework 4.6.2+ lub .NET Core 3.1 / .NET 5-9
  • Visual Studio 2019+ lub VS Code z rozszerzeniem C#
  • Dostęp do menedżera pakietów NuGet
  • Klucz licencyjny IronPDF(bezpłatna wersja próbna dostępna na stronie ironpdf.com)

Audyt wykorzystania ExpertPdf

Uruchom te polecenia w katalogu rozwiązania, aby zidentyfikować wszystkie odwołania do ExpertPdf:

# Find allExpertPdfreferences
grep -r "ExpertPdf\|PdfConverter\|PDFMerge\|PdfSecurityManager" --include="*.cs" .

# Check NuGet packages
dotnet list package | grep -i "ExpertPdf"
SHELL

Typowe pakietyExpertPdfdo szukania (zweryfikuj dokładną nazwę na nuget.org — zestaw używa niespójnego stylu):

  • ExpertPdfHtmlToPdf (.NET Framework) / ExpertPdf.HtmlToPdf.NetCore (.NET Core / 5-9) — HTML to PDF
  • ExpertPdf.MergePdf — łączenie PDF
  • ExpertPdf.PdfSecurity — szyfrowanie i hasła
  • ExpertPdf.SplitPdf — dzielenie PDF
  • ExpertPdf.PdfToImage — konwersja PDF na obraz
  • ExpertPdf.PdfCreator — pełny SDK PDF (rysowanie, formularze, podpisy)

Zrozumienie zmiany wzorca podstawowego

ExpertPdf korzysta z PdfConverter z bezpośrednimi metodami zwracania tablicy bajtów.IronPDF używa ChromePdfRenderer zwracając obiekty PdfDocument, które zapewniają dodatkowe możliwości manipulacji przed zapisaniem.

Proces migracji krok po kroku

Krok 1: Zaktualizuj pakiety NuGet

Usuń wszystkie pakietyExpertPdfi zainstaluj IronPDF:

# Remove allExpertPdfpackages (use whichever variants you have installed)
dotnet remove package ExpertPdfHtmlToPdf
dotnet remove package ExpertPdf.HtmlToPdf.NetCore
dotnet remove package ExpertPdf.MergePdf
dotnet remove package ExpertPdf.PdfSecurity
dotnet remove package ExpertPdf.SplitPdf
dotnet remove package ExpertPdf.PdfToImage
dotnet remove package ExpertPdf.PdfCreator

# Install IronPDF(includes all features)
dotnet add package IronPdf
SHELL

Krok 2: Aktualizacja odniesień do przestrzeni nazw

Zastąp przestrzenie nazwExpertPdfna IronPDF:

// Remove these
using ExpertPdf.HtmlToPdf;

// Add this
using IronPdf;

Krok 3: Skonfiguruj licencję

ExpertPdf stosuje licencjonowanie na konwerter.IronPDF korzysta z jednej globalnej licencji:

// Add at application startup (Program.cs or Startup.cs)
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";

Kompletna dokumentacja API

Mapowanie klas podstawowych

KlasaExpertPdfOdpowiednik IronPDF
PdfConverterChromePdfRenderer
PdfDocumentOptionsChromePdfRenderOptions
PdfHeaderOptionsTextHeaderFooter lub HtmlHeaderFooter
PdfFooterOptionsTextHeaderFooter lub HtmlHeaderFooter
PDFMergePdfDocument.Merge()

Mapowanie metod

MetodaExpertPdfMetoda IronPDF
pdfConverter.GetPdfBytesFromHtmlString(html)renderer.RenderHtmlAsPdf(html).BinaryData
pdfConverter.GetPdfBytesFromUrl(url)renderer.RenderUrlAsPdf(url).BinaryData
pdfConverter.GetPdfBytesFromHtmlFile(path)renderer.RenderHtmlFileAsPdf(path).BinaryData
pdfConverter.SavePdfFromUrlToFile(url, path)renderer.RenderUrlAsPdf(url).SaveAs(path)

Mapowanie opcji

OpcjaExpertPdfIronPDF RenderingOptions
PdfDocumentOptions.PdfPageSize = PdfPageSize.A4PaperSize = PdfPaperSize.A4
PdfDocumentOptions.PdfPageOrientation = PortraitPaperOrientation = PdfPaperOrientation.Portrait
PdfDocumentOptions.MarginTopMarginTop
PdfHeaderOptions.HeaderTextTextHeader.CenterText
PdfFooterOptions.FooterTextTextFooter.RightText

Konwersja tokenów numeracji stron

ExpertPdf i IronPDF używają różnych składni symboli zastępczych dla numerów stron:

ExpertPdfIronPDF
&p;{page}
&P;{total-pages}

Przykłady migracji kodu

Konwersja HTML do PDF

Podstawowa konwersja z HTML do PDF ilustruje przejście od modelu tablicy bajtów stosowanego w IronPdf do podejścia opartego na obiektach dokumentów stosowanego w IronPDF.

Wdrożenie ExpertPdf:

// NuGet: Install-Package ExpertPdf.HtmlToPdf
using ExpertPdf.HtmlToPdf;
using System;

class Program
{
    static void Main()
    {
        // Create the PDF converter
        PdfConverter pdfConverter = new PdfConverter();
        
        // Convert HTML string to PDF
        byte[] pdfBytes = pdfConverter.GetPdfBytesFromHtmlString("<h1>Hello World</h1><p>This is a PDF document.</p>");
        
        // Save to file
        System.IO.File.WriteAllBytes("output.pdf", pdfBytes);
        
        Console.WriteLine("PDF created successfully!");
    }
}

Wdrożenie IronPDF:

// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        // Create a PDF from HTML string
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1><p>This is a PDF document.</p>");
        
        // Save to file
        pdf.SaveAs("output.pdf");
        
        Console.WriteLine("PDF created successfully!");
    }
}

Podejście IronPDF zwraca obiekt PdfDocument, umożliwiający dodatkową manipulację (łączenie, watermarking, zabezpieczenia) przed zapisaniem. Aby uzyskać więcej opcji, zapoznaj się z dokumentacją dotyczącą konwersji HTML do PDF.

URL do pliku PDF z ustawieniami strony

Wdrożenie ExpertPdf:

// NuGet: Install-Package ExpertPdf.HtmlToPdf
using ExpertPdf.HtmlToPdf;
using System;

class Program
{
    static void Main()
    {
        // Create the PDF converter
        PdfConverter pdfConverter = new PdfConverter();
        
        // Set page size and orientation
        pdfConverter.PdfDocumentOptions.PdfPageSize = PdfPageSize.A4;
        pdfConverter.PdfDocumentOptions.PdfPageOrientation = PdfPageOrientation.Portrait;
        
        // Convert URL to PDF
        byte[] pdfBytes = pdfConverter.GetPdfBytesFromUrl("https://www.example.com");
        
        // Save to file
        System.IO.File.WriteAllBytes("webpage.pdf", pdfBytes);
        
        Console.WriteLine("PDF from URL created successfully!");
    }
}

Wdrożenie IronPDF:

// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        // Create a PDF renderer
        var renderer = new ChromePdfRenderer();
        
        // Set page size and orientation
        renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
        renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait;
        
        // Convert URL to PDF
        var pdf = renderer.RenderUrlAsPdf("https://www.example.com");
        
        // Save to file
        pdf.SaveAs("webpage.pdf");
        
        Console.WriteLine("PDF from URL created successfully!");
    }
}

IronPDF's RenderingOptions zapewnia bezpośredni dostęp do właściwości konfiguracji strony. Aby uzyskać więcej opcji, zapoznaj się z dokumentacją dotyczącą konwersji URL na PDF.

Nagłówki i stopki z numerami stron

Ten przykład demonstruje istotną różnicę w konfiguracji nagłówka/stopki—ExpertPdf używa oddzielnych klas PdfHeaderOptions i PdfFooterOptions z tokenami &P;, podczas gdy IronPDF używa TextHeaderFooter z zastępcami {total-pages}.

Wdrożenie ExpertPdf:

// NuGet: Install-Package ExpertPdf.HtmlToPdf
using ExpertPdf.HtmlToPdf;
using System;

class Program
{
    static void Main()
    {
        // Create the PDF converter
        PdfConverter pdfConverter = new PdfConverter();
        
        // Enable header
        pdfConverter.PdfHeaderOptions.ShowHeader = true;
        pdfConverter.PdfHeaderOptions.HeaderText = "Document Header";
        pdfConverter.PdfHeaderOptions.HeaderTextAlignment = HorizontalTextAlign.Center;
        
        // Enable footer with page numbers
        pdfConverter.PdfFooterOptions.ShowFooter = true;
        pdfConverter.PdfFooterOptions.FooterText = "Page &p; of &P;";
        pdfConverter.PdfFooterOptions.FooterTextAlignment = HorizontalTextAlign.Right;
        
        // Convert HTML file to PDF
        byte[] pdfBytes = pdfConverter.GetPdfBytesFromHtmlFile("input.html");
        
        // Save to file
        System.IO.File.WriteAllBytes("output-with-header-footer.pdf", pdfBytes);
        
        Console.WriteLine("PDF with headers and footers created successfully!");
    }
}

Wdrożenie IronPDF:

// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        // Create a PDF renderer
        var renderer = new ChromePdfRenderer();
        
        // Configure header
        renderer.RenderingOptions.TextHeader = new TextHeaderFooter()
        {
            CenterText = "Document Header",
            DrawDividerLine = true
        };
        
        // Configure footer with page numbers
        renderer.RenderingOptions.TextFooter = new TextHeaderFooter()
        {
            RightText = "Page {page} of {total-pages}",
            DrawDividerLine = true
        };
        
        // Convert HTML file to PDF
        var pdf = renderer.RenderHtmlFileAsPdf("input.html");
        
        // Save to file
        pdf.SaveAs("output-with-header-footer.pdf");
        
        Console.WriteLine("PDF with headers and footers created successfully!");
    }
}

IronPDF's TextHeaderFooter zapewnia właściwości LeftText, CenterText, i RightText z opcjonalnymi liniami podziału. Dla nagłówków opartych na HTML, użyj HtmlHeaderFooter. Aby uzyskać więcej opcji, zapoznaj się z dokumentacją dotyczącą nagłówków i stopek.

Ważne uwagi dotyczące migracji

Lokalizacja klucza licencyjnego

ExpertPdf stosuje licencjonowanie na konwerter.IronPDF korzysta z jednej globalnej licencji, ustalanej jednorazowo podczas uruchamiania:

//ExpertPdf- per converter
pdfConverter.LicenseKey = "EXPERTPDF-LICENSE";

//IronPDF- global, set once
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
C#

Konwersja tokenów numeracji stron

Zastąp tokenyExpertPdfsymbolami zastępczymi IronPDF:

// ExpertPdf
"Page &p; of &P;"

// IronPDF
"Page {page} of {total-pages}"

Konsolidacja fragmentarycznych pakietów

Oddzielne pakietyExpertPdf(PDFMerge, PDFSecurity, PDFSplit, PdfToImage) są zawarte w jednym pakiecie IronPDF:

//ExpertPdf- requires separate ExpertPdf.MergePdf package
PDFMerge merger = new PDFMerge();
merger.AppendPDFFile("file1.pdf");
merger.AppendPDFFile("file2.pdf");
merger.SaveMergedPDFToFile("merged.pdf");

//IronPDF- included in main package
var pdf1 = PdfDocument.FromFile("file1.pdf");
var pdf2 = PdfDocument.FromFile("file2.pdf");
var merged = PdfDocument.Merge(pdf1, pdf2);
merged.SaveAs("merged.pdf");
C#

Aby uzyskać więcej opcji łączenia, zapoznaj się z dokumentacją dotyczącą łączenia plików PDF.

Niestandardowe rozmiary stron

ExpertPdf wykorzystuje punkty.IronPDF używa milimetrów. Konwertuj: points / 72 * 25.4 = mm

Lista kontrolna po migracji

Po zakończeniu migracji kodu sprawdź, czy:

  • Wizualne porównanie wygenerowanych plików PDF
  • Sprawdź nagłówki/stopki i numery stron
  • Sprawdź ustawienia bezpieczeństwa/szyfrowania
  • Sprawdzanie poprawności operacji scałania
  • Sprawdź niestandardowe rozmiary stron
  • Testy porównawcze wydajności
  • Testowanie wielopłatformowe
  • Usuń pliki licencji ExpertPdf
  • Aktualizacja dokumentacji

Dodatkowe zasoby


Migracja zExpertPdfdo IronPDF zastępuje rzadka dokumentację, dziedzictwo kanałów renderowania i fragmentowane licencjonowanie produktu aktywnie utrzymywaną biblioteką na najnowszym silniku Chromium — utrzymując generowanie PDF zgodnie z obecnymi standardami webowymi i nowoczesnymi celami .NET.

Zwróć uwagę: ExpertPDF to zarejestrowany znak towarowy jego odpowiedniego właściciela (Outside Software Inc.). Ta strona nie jest powiązana z, zatwierdzona przez ani sponsorowana przezOutside Software Inc.Wszystkie nazwy produktów, loga i marki są własnością ich odpowiednich właścicieli. Porównania mają charakter wyłącznie informacyjny i odzwierciedlają informacje dostępne publicznie w momencie pisania.
Curtis Chau
Autor tekstów technicznych

Curtis Chau posiada tytuł licencjata z informatyki (Uniwersytet Carleton) i specjalizuje się w front-endowym rozwoju, z ekspertką w Node.js, TypeScript, JavaScript i React. Pasjonuje się tworzeniem intuicyjnych i estetycznie przyjemnych interfejsów użytkownika, Curtis cieszy się pracą z nowoczesnymi frameworkami i tworzeniem dobrze zorganizowanych, atrakcyjnych wizualnie podręczników.

...
Czytaj więcej

Powiązane artykuły

Key in blue circle

Uzyskaj natychmiast swój darmowy 30-dniowy Klucz Testowy.

Your trial license will be sent to your email address

Brak ograniczeń. 100% dostępności. Bez karty kredytowej.

bullet_checkedNie wymaga karty kredytowej ani tworzenia kontaBrak ograniczeń. 100% dostępności. Bez karty kredytowej.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Zarezerwuj swoje darmowe Demo na żywo
Booking Badge

Zaufane przez miliony inżynierów na całym świecie

Logotypy klientów Iron Software
Otrzymaj swoje Konsultacja Bez Zobowiązań
Wypełnij poniższy formularz lub wyślij e-mail na sales@ironsoftware.com
Twoje dane zawsze będą utrzymywane w tajemnicy.
Zaufane przez miliony inżynierów na całym świecie
Logotypy klientów Iron Software
Otrzymaj swój darmowy Klucz Próbny na 30 dni natychmiast.
Nie wymaga karty kredytowej ani tworzenia konta