Przejdź do treści stopki
PORóWNANIA PRODUKTóW

IronPDF vs Report.NET: Kompleksowe porównanie dla deweloperów .NET

IronPDF przewyższaComPDFKitdla generowania PDF w C# dzięki wbudowanemu renderowaniu HTML opartemu na Chromium, pełnemu wsparciu dla Bootstrap, kompletnej dokumentacji i głębokiej integracji z .NET.

PDF, skrót od Portable Document Format, to typ pliku stworzony przez firmę Adobe w celu zapewnienia jednolitości w udostępnianiu dokumentów. Ten format zapewnia spójność układu, tekstu i obrazów na różnych urządzeniach i systemach operacyjnych. Pliki PDF zapewniają bezpieczeństwo, funkcje interaktywne i niewielki rozmiar, dzięki czemu idealnie nadają się do dystrybucji dokumentów bez zmiany treści.

Dla programistów korzystających z języka C# biblioteki PDF zapewniają rozwiązania do pracy z plikami PDF. Biblioteki te umożliwiają tworzenie dokumentów, modyfikację treści oraz wyodrębnianie tekstu i obrazów. Obsługują one takie funkcje, jak obsługa formularzy, podpisy cyfrowe i kompatybilność międzyplatformowa. Zaprojektowane, aby poprawić wydajność, te biblioteki umożliwiają efektywne przetwarzanie PDF.

W tym artykułe porównano dwie biblioteki PDF dla języka C#: IronPDF i ComPDFKit. Niniejsze porównanie obejmuje cechy, funkcjonalność, przykłady kodu oraz licencjonowanie. Analizując te aspekty, programiści mogą określić, która biblioteka najlepiej pasuje do ich projektów związanych z plikami PDF.

Szybki przegląd porównawczy

Zanim przejdziemy do szczegółowej analizy, oto pełne porównanie kluczowych funkcji:

Funkcja IronPDF ComPDFKit
HTML do PDF Natywny silnik Chromium Dostępne przez SDK i API
Obsługa Bootstrap Pełna obsługa CSS3/Flexbox Ograniczona obsługa frameworków CSS
Instalacja Pojedynczy pakiet NuGet Potrzebnych jest kilka pakietów
Dokumentacja Obszerne, zawierające ponad 500 przykładów Podstawowa dokumentacja
Wsparcie Dedykowane wsparcie inżynierów dostępne 24 godziny na dobę, 5 dni w tygodniu Standardowe wsparcie e-mail
Model cenowy Licencja wieczysta od $999 Ceny oparte na wycenie
Wielopłatformowe Windows, Linux, macOS, Docker, Azure Windows, Linux, macOS
Wydajność Zoptymalizowana obsługa asynchroniczności i wielowątkowości Standardowe przetwarzanie synchroniczne
Funkcje dla Enterprise PDF/A, PDF/UA, podpis HSM Podstawowa obsługa formatu PDF/A
Krzywa uczenia się Minimalne – intuicyjne API Umiarkowana – złożona struktura API
  1. Przeglądanie plików PDF:ComPDFKitoferuje zaawansowaną przeglądarkę plików PDF, która pozwala użytkownikom przeglądać dokumenty PDF z zachowaniem wysokiej jakości. Przeglądarka obsługuje płynne przewijanie, Zoom i nawigację, zapewniając płynne działanie.
  2. Adnotacje: Biblioteka zawiera narzędzia do płynnej integracji adnotacji w plikach PDF. Użytkownicy mogą zaznaczać tekst, dodawać komentarze i tworzyć różnego rodzaju adnotacje, które są niezbędne w procesach pracy zespołowej.
  3. Obsługa formularzy: Biblioteka oferuje szerokie wsparcie dla formularzy interaktywnych. Programiści mogą tworzyć, wypełniać i wyodrębniać dane z formularzy PDF, co sprawia, że narzędzie idealnie nadaje się do aplikacji wymagających przetwarzania formularzy.
  4. Edycja plików PDF:ComPDFKitoferuje szerokie możliwości edycji plików PDF, w tym modyfikację tekstu, obrazów i innych treści w plikach PDF. Ta funkcja jest przydatna w aplikacjach, które wymagają aktualizacji lub dostosowania istniejących dokumentów PDF.
  5. Konwersja: Biblioteka obsługuje konwersję plików PDF do i z różnych formatów, takich jak WORD, Excel, PowerPoint oraz obrazy. Ta elastyczność ma kluczowe znaczenie dla aplikacji, które muszą przekształcać zawartość plików PDF do różnych zastosowań.
  6. Bezpieczeństwo:ComPDFKitzawiera solidne funkcje bezpieczeństwa, takie jak szyfrowanie i zarządzanie uprawnieniami. Programiści mogą zabezpieczyć dokumenty PDF, aby chronić poufne informacje przed nieuprawnionym dostępem.
  7. Optyczne rozpoznawanie znaków (OCR): Biblioteka zawiera funkcje OCR umożliwiające konwersję zeskanowanych dokumentów na edytowalne i przeszukiwalne pliki PDF. Ta funkcja jest niezbędna do digitalizacji dokumentów papierowych i udostępniania ich w formie elektronicznej.

Strona głównaComPDFKitprezentująca kompletne rozwiązania SDK do obsługi plików PDF dla programistów wraz ze zrzutami ekranu przedstawiającymi funkcje adnotacji oraz przykładami kodu ilustrującymi możliwości manipulacji plikami PDF.

ComPDFKit PDF SDK to niezawodny zestaw SDK do obsługi plików PDF w języku C#, który pozwala programistom na integrację pełnej funkcjonalności plików PDF z ich aplikacjami. Biblioteka ta obsługuje szeroki zakres funkcji PDF niezbędnych do programowego przetwarzania dokumentów PDF. Jest przeznaczony do użytku w różnych środowiskach, w tym na platformach internetowych, stacjonarnych i mobilnych, co czyni go wszechstronnym narzędziem dla programistów pracujących nad projektami wielopłatformowymi. Przykładowe rozwiązanie zawiera wiele funkcji, które programiści mogą wybierać i testować.

Jakie kluczowe funkcje oferuje ComPDFKit?

Podstawowe możliwości:

  • Przeglądanie PDF: Zapewnia skuteczną przeglądarkę z płynnym przewijaniem, przybliżaniem i funkcjami nawigacyjnymi
  • Adnotacje: Obejmuje narzędzia do zaznaczania tekstu, dodawania komentarzy i tworzenia różnych typów adnotacji
  • Obsługa formularzy: oferuje wsparcie w tworzeniu, wypełnianiu i wyciąganiu danych z interaktywnych formularzy PDF
  • Edycja plików PDF: Umożliwia modyfikację tekstu, obrazów i innych treści w istniejących dokumentach PDF
  • Konwersja: Wspiera konwersję PDF na Word, Excel, PowerPoint, i formaty obrazów
  • Bezpieczeństwo: Obejmuje szyfrowanie i zarządzanie uprawnieniami w celu ochrony poufnych informacji
  • Optyczne rozpoznawanie znaków (OCR): Konwertuje zeskanowane dokumenty na edytowalne i przeszukiwalne pliki PDF

Dlaczego warto rozważyć architekturę ComPDFKit?

  1. Konwersja HTML do PDF:IronPDF doskonale radzi sobie z konwersją treści HTML, CSS i JavaScript na wysokiej jakości dokumenty PDF. Ta funkcja obsługuje ciągi znaków HTML do plików PDF, adresy URL, formularze internetowe ASPX oraz widoki MVC, co czyni ją elastycznym rozwiązaniem dla różnorodnych treści internetowych.
  2. Edycja plików PDF: Biblioteka oferuje szerokie możliwości edycji, w tym dodawanie, kopiowanie i usuwanie stron, łączenie i dzielenie plików PDF oraz manipulowanie tekstem i obrazami. Programiści mogą również dodawać nagłówki, stopki, znaki wodne i podpisy cyfrowe do dokumentów PDF.
  3. Obsługa formularzy:IronPDF obsługuje tworzenie inteligentnych formularzy i programowe wypełnianie formularzy PDF. Ta funkcja jest niezbędna w aplikacjach wymagających dynamicznego generowania formularzy i wyciągania danych z formularzy przesłanych przez użytkowników.
  4. Funkcje bezpieczeństwa:IronPDF zapewnia solidne opcje bezpieczeństwa, takie jak ustawianie haseł i uprawnień, szyfrowanie dokumentów oraz dodawanie podpisów cyfrowych. Funkcje te zapewniają ochronę poufnych informacji zawartych w dokumentach PDF przed nieuprawnionym dostępem.
  5. OCR i ekstrakcja danych: Biblioteka zawiera funkcje optycznego rozpoznawania znaków (OCR), umożliwiające konwersję zeskanowanych dokumentów na edytowalne i przeszukiwalne pliki PDF. Ponadto IronPDF może wyodrębniać tekst, obrazy i inne dane z istniejących plików PDF, ułatwiając ponowne wykorzystanie i analizę treści.
  6. Konwersja obrazów:IronPDF obsługuje konwersję różnych formatów obrazów, w tym JPG, PNG, GIF, BMP i SVG, do dokumentów PDF. Oferuje również możliwość renderowania stron PDF jako obrazów, co jest przydatne w aplikacjach wymagających wizualnego podglądu treści PDF.
  7. Kompatybilność międzyplatformowa:IronPDF jest kompatybilny z wieloma platformami .NET, w tym .NET Core, .NET Framework i .NET Standard. Obsługuje wdrożenie w systemachWindows, Linux, macOSi Azure, co czyni go wszechstronnym wyborem dla programistów pracujących w różnorodnych środowiskach.
  8. Optymalizacja wydajności: Biblioteka została zaprojektowana z myślą o wysokiej wydajności i obsługuje wielowątkowość oraz operacje asynchroniczne. Gwarantuje to wydajne wykonywanie zadań związanych z przetwarzaniem plików PDF, nawet w aplikacjach o dużym obciążeniu.
  9. Kompleksowa dokumentacja i wsparcie:IronPDF zapewnia szczegółową dokumentację i liczne przykłady kodu, ułatwiając programistom rozpoczęcie pracy i wdrożenie jego funkcji. Ponadto oferuje wsparcie techniczne w przypadku wszelkich problemów, które mogą pojawić się podczas tworzenia oprogramowania.

W przypadku aplikacji Enterprise wymagających niezawodnych funkcji adnotacji,ComPDFKitzapewnia podstawową funkcjonalność. Zaawansowane funkcje tworzenia formularzy mogą wymagać dodatkowego nakładu pracy programistycznej. Chociaż narzędzie to sprawdza się w zadaniach OCR, programiści poszukujący zaawansowanego rozpoznawania tekstu powinni rozważyć alternatywne rozwiązania, takie jak IronOCR, zapewniające wyższą dokładność.

Jakie są ograniczenia ComPDFKit?

Pomimo kompletnej gamy funkcji,ComPDFKitprzedstawia kilka rozważań dla rozwoju w przedsiębiorstwie:

  • Wsparcie dla CSS: Ograniczona kompatybilność z nowoczesnymi frameworkami CSS w porównaniu do natywnego Chromium renderer
  • Dokumentacja: Podstawowe przykłady bez kompletnych przewodników dotyczących rozwiązywania problemów
  • Kompleksowość integracji: Wymagane może być wiele pakietów do pełnej funkcjonalności

Czym jest biblioteka IronPDF?

Strona główna IronPDF przedstawiająca interfejs biblioteki C# PDF wraz z przykładem kodu do konwersji HTML na PDF, podkreślająca ponad 10 milionów pobrań oraz wdrożenie w przedsiębiorstwach z listy Fortune 500.

IronPDF to wszechstronna biblioteka PDF dla platformy .NET, która umożliwia programistom tworzenie, edycję i zarządzanie dokumentami PDF przy użyciu języka C#. Zapewnia pełną funkcjonalność PDF poprzez uproszczone interfejsy API. Biblioteka wyróżnia się w generowaniu plików PDF poprzez renderowanie z HTML, CSS, JavaScript i różnych formatów obrazów. To sprawia, że jest to idealne narzędzie dla programistów integrujących niezawodną funkcjonalność PDF z aplikacjami .NET.

Jakie kluczowe funkcje oferuje IronPDF?

Zaawansowane możliwości:

Dlaczego warto wybraćIronPDF do systemów produkcyjnych?

Architektura IronPDF stawia na pierwszym miejscu wydajność i niezawodność w środowiskach produkcyjnych:

Co sprawia, że IronPDF jest gotowy do użytku w Enterprise?

IronPDF wyróżnia się funkcjami ukierunkowanymi na produkcję:

Jak utworzyć nowy projekt w Visual Studio?

Przed zapoznaniem się z przykładami kodu programiści powinni utworzyć nowy projekt w Visual Studio. W niniejszym przewodniku opisano konfigurację aplikacji konsolowej C# w programie Visual Studio.

Dlaczego muszę zainstalować Visual Studio?

Visual Studio zapewnia ulepszone IDE dla projektów C#. Pobierz go ze strony pobierania Visual Studio. IDE oferuje zintegrowane debugowanie, IntelliSense i zarządzanie pakietami, które są niezbędne do rozwoju PDF.

Jaka konfiguracja projektu sprawdza się najlepiej?

Po instalacji otwórz program Visual Studio. Zaloguj się lub kontynuuj bez logowania, korzystając z Visual Studio Community. Wykonaj następujące czynności konfiguracyjne:

  1. Kliknij "Utwórz nowy projekt" lub przejdź do Plik > Nowy > Projekt.

    Środowisko IDE Visual Studio z otwartym menu Plik zawierającym opcje tworzenia nowych projektów, otwierania plików i zarządzania repozytoriami, z podświetloną opcją Nowy projekt.

  2. Wyszukaj aplikację Console i wybierz Console Application z wyników wyszukiwania.

    Okno dialogowe

  3. Otwórz menedżera pakietów NuGet: w Eksploratorze rozwiązań kliknij prawym przyciskiem myszy "Odwołania" i wybierz "Zarządzaj pakietami NuGet".
  4. Wyszukaj i zainstaluj: Wyszukaj "ComPDFKit" w menedżerze pakietów NuGet. Wybierz odpowiedni pakiet (np. ComPDFKit.NetFramework lub ComPDFKit.Conversion.NetFramework) i kliknij "Zainstaluj".

Czym są podstawowe ustawienia projektu?

  1. Sprawdź instalację: Upewnij się, że pakiet pojawia się w sekcji "Odwołania" w Eksploratorze rozwiązań.
  • Platforma docelowa: Ustaw na x64 w celu przetwarzania dużych dokumentów
  • Typ wyjściowy: aplikacja konsolowa do testowania, biblioteka klas do produkcji
  • Wersja frameworka: zalecana wersja .NET Framework 6+ dla uzyskania najlepszej wydajności
  • Zarządzanie pakietami NuGet: Włącz przywracanie pakietów w celu zarządzania zależnościami
  1. Pobierz pakiet: Pobierz plik ComPDFKit.NetFramework.nupkg z oficjalnej strony ComPDFKit.
  2. Skonfiguruj źródło NuGet: Utwórz lub edytuj plik nuget.config w katalogu projektu, aby dodać ścieżkę do lokalnego pakietu.

Włączenie IronPDF do projektów można zrealizować na różne sposoby. Pełny opis instalacji znajduje się w oficjalnej dokumentacji. Biblioteka obsługuje wiele metod instalacji dostosowanych do różnych procesów programistycznych.

  1. Zainstaluj pakiet lokalny: Otwórz ponownie swoje rozwiązanie w Visual Studio, przejdź do "Zarządzaj pakietami NuGet" i wybierz swoje lokalne źródło pakietów. Zainstaluj pakietComPDFKitz lokalnego źródła.

  2. Menedżer pakietów NuGet w Visual Studio: Kliknij prawym przyciskiem myszy "Zależności" w rozwiązaniu i wybierz "Zarządzaj pakietami NuGet". W zakładce "Przeglądaj" wyszukaj "IronPDF" i zainstaluj najnowszą wersję. Aby uzyskać informacje na temat zaawansowanych opcji instalacji NuGet, zapoznaj się ze szczegółowym przewodnikiem.

  3. Uzyskaj licencję: Skontaktuj się z zespołem ComPDFKit, aby uzyskać wersję próbną lub pełną licencję.
  4. Zastosowanie licencji w kodzie:

  5. Konsola menedżera pakietów: Użyj konsoli menedżera pakietów NuGet, wybierając opcję Narzędzia > Menedżer pakietów NuGet > Konsola menedżera pakietów. Wykonaj polecenie:

    _CODEBLOCK0

    Umożliwia to szybką instalację biblioteki za pomocą interfejsu wiersza poleceń.

    Okno konsoli menedżera pakietów pokazujące instalację pakietu NuGet IronPDF w wersji 2024.5.2 w projekcie testowym C# z potwierdzeniem pomyślnej instalacji.

  6. Metoda bezpośredniego pobrania: Odwiedź stronę pakietu IronPDF NuGet. Pobierz plik pakietu, kliknij go dwukrotnie, aby dodać go do projektu, a następnie przeładuj rozwiązanie.

  7. Instalacja ręczna: Pobierz bezpośrednio najnowszą wersję IronPDF. Postępuj zgodnie z dostarczonymi instrukcjami dotyczącymi ręcznej integracji z Visual Studio. W przypadku instalacji w systemie Windows zapoznaj się z instrukcją instalatora dla systemu Windows.

Dlaczego warto wybrać konkretne metody instalacji?

Różne metody instalacji pasują do różnych scenariuszy:

  • Menedżer pakietów NuGet: Najlepszy dla użytkowników Visual Studio z dostępem do Internetu
  • Konsola menedżera pakietów: idealna do wdrożeń opartych na skryptach i potoków CI/CD
  • Bezpośrednie pobieranie: Odpowiednie dla środowisk programistycznych offline
  • Instalacja ręczna: Wymagana w przypadku niestandardowych konfiguracji wdrożeniowych

Metody te pozwalają na efektywną integracjęIronPDF z projektami .NET. Aby uzyskać instrukcje dotyczące szybkiego startu, odwiedź przewodnik dla początkujących. Przewodniki dotyczące poszczególnych platform obejmują integrację z językiem F# oraz wykorzystanie VB.NET.

Jak zainstalowaćComPDFKitC#?

Istnieją dwie główne metody dodawaniaComPDFKitdo projektów: menedżer pakietów NuGet lub lokalna instalacja pakietu. Proces instalacji wymaga więcej kroków w porównaniu z podejściem opartym na jednym pakiecie stosowanym w IronPDF.

Kiedy należy używać menedżera pakietów NuGet?

  1. Otwórz menedżera pakietów NuGet: kliknij prawym przyciskiem myszy "Odwołania" w Eksploratorze rozwiązań i wybierz "Zarządzaj pakietami NuGet".
  2. Wyszukaj i zainstaluj: Wyszukaj "ComPDFKit" w menedżerze pakietów. Wybierz odpowiedni pakiet (ComPDFKit.NetFramework lub ComPDFKit.Conversion.NetFramework) i kliknij "Zainstaluj."

Interfejs menedżera pakietów NuGet pokazujący wyniki wyszukiwaniaComPDFKitz trzema wymienionymi pakietami: ComPDFKit.NetFramework, ComPDFKit.Conversion.NetFramework i compdfkit-api-.NET dla różnych zastosowań.

  1. Sprawdź instalację: Upewnij się, że pakiet pojawia się w sekcji "Odwołania" w Eksploratorze rozwiązań. Do pełnego działania może być potrzebnych kilka pakietów.

Kiedy należy używać pakietu lokalnego?

Instalacja lokalnego pakietu jest odpowiednia dla środowisk o ograniczonych uprawnieniach:

  1. Pobierz Pakiet: Uzyskaj ComPDFKit.NetFramework.nupkg z oficjalnej strony ComPDFKit.
  2. Skonfiguruj źródło NuGet: Utwórz lub edytuj nuget.config w katalogu projektu, aby uwzględnić lokalną ścieżkę pakietu.

    _CODEBLOCK1

  3. Zainstaluj pakiet lokalny: Otwórz ponownie rozwiązanie, przejdź do "Zarządzaj pakietami NuGet", wybierz lokalne źródło pakietów i zainstaluj ComPDFKit.

Jak zastosować mój klucz licencyjny?

Wdrożenie licencji różni się znacznie w zależności od biblioteki:

  1. Uzyskaj licencję: Skontaktuj się zComPDFKitw celu uzyskania wersji próbnej lub pełnej licencji.
  2. Zastosowanie licencji w kodzie:

    _CODEBLOCK2

    Dodaj tę metodę, aby zweryfikować licencję. Aby zapoznać się z prostszą implementacją licencji IronPDF, zobacz dokumentację dotyczącą kluczy licencyjnych.IronPDF wymaga jedynie ustawiania właściwości License.LicenseKey, upraszczając proces licencjonowania.

Jak przekonwertować HTML na PDF?

Konwersja HTML do PDF to częsty wymóg przy tworzeniu raportów, faktur lub dokumentacji na podstawie treści internetowych. Zarówno IronPDF jak iComPDFKitoferują konwersję HTML na PDF, choć ich podejścia się różnią.IronPDF używa osadzonego silnika renderowania Chromium do idealnie odwzorowanego wyjścia, podczas gdy silnik renderowaniaComPDFKiti wsparcie dla frameworku CSS powinny być oceniane względem specyficznych wymagań projektu.

W jaki sposób IronPDF obsługuje konwersję HTML do PDF?

IronPDF wykorzystuje silnik renderujący oparty na przeglądarce Chrome, aby zapewnić wysoką jakość wyników. Proces ten pozwala na dokładne renderowanie HTML, CSS i JavaScript do formatu PDF. Biblioteka obsługuje ciągi znaków HTML, pliki HTML i adresy URL.

Przykład podstawowej konwersji ciągu znaków HTML do formatu PDF:

using IronPdf;
using System;

class Program
{
    static void Main()
    {
        // Define your HTML string
        string htmlString = @"
            <h1>Hello, IronPDF!</h1>
            <p>This is a simple PDF created from an HTML string.</p>";

        var renderer = new ChromePdfRenderer();
        // Convert the HTML string to a PDF document
        PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlString);
        // Save the PDF document to a file
        string outputPath = "sample.pdf";
        pdf.SaveAs(outputPath);
        Console.WriteLine($"PDF created successfully and saved to {outputPath}");
    }
}
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        // Define your HTML string
        string htmlString = @"
            <h1>Hello, IronPDF!</h1>
            <p>This is a simple PDF created from an HTML string.</p>";

        var renderer = new ChromePdfRenderer();
        // Convert the HTML string to a PDF document
        PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlString);
        // Save the PDF document to a file
        string outputPath = "sample.pdf";
        pdf.SaveAs(outputPath);
        Console.WriteLine($"PDF created successfully and saved to {outputPath}");
    }
}
Imports IronPdf
Imports System

Friend Class Program
	Shared Sub Main()
		' Define your HTML string
		Dim htmlString As String = "
            <h1>Hello, IronPDF!</h1>
            <p>This is a simple PDF created from an HTML string.</p>"

		Dim renderer = New ChromePdfRenderer()
		' Convert the HTML string to a PDF document
		Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(htmlString)
		' Save the PDF document to a file
		Dim outputPath As String = "sample.pdf"
		pdf.SaveAs(outputPath)
		Console.WriteLine($"PDF created successfully and saved to {outputPath}")
	End Sub
End Class
$vbLabelText   $csharpLabel

Wynik działania IronPDF przedstawiający prosty plik PDF z nagłówkiem

IronPDF konwertuje również bezpośrednio pliki HTML, obsługując wbudowane elementy CSS i JavaScript:

using IronPdf;
using System;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        // Convert the HTML file to a PDF document
        PdfDocument pdf = renderer.RenderHtmlFileAsPdf("index.html");
        // Save the PDF document to a file
        string outputPath = "HTML File.pdf";
        pdf.SaveAs(outputPath);
        Console.WriteLine($"PDF created successfully and saved to {outputPath}");
    }
}
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        // Convert the HTML file to a PDF document
        PdfDocument pdf = renderer.RenderHtmlFileAsPdf("index.html");
        // Save the PDF document to a file
        string outputPath = "HTML File.pdf";
        pdf.SaveAs(outputPath);
        Console.WriteLine($"PDF created successfully and saved to {outputPath}");
    }
}
Imports IronPdf
Imports System

Friend Class Program
	Shared Sub Main()
		Dim renderer = New ChromePdfRenderer()
		' Convert the HTML file to a PDF document
		Dim pdf As PdfDocument = renderer.RenderHtmlFileAsPdf("index.html")
		' Save the PDF document to a file
		Dim outputPath As String = "HTML File.pdf"
		pdf.SaveAs(outputPath)
		Console.WriteLine($"PDF created successfully and saved to {outputPath}")
	End Sub
End Class
$vbLabelText   $csharpLabel

Sample invoice #123 showing website design services totaling $385, rendered as a PDF document with professional formatting and layout preserved from HTML source.

Jakie zaawansowane funkcje HTML obsługuje IronPDF?

Silnik Chromium firmy IronPDF obsługuje złożone technologie internetowe:

W jaki sposóbComPDFKitobsługuje konwersję HTML do PDF?

BibliotekaComPDFKitdla .NET obejmuje konwersję HTML na PDF jako część swojego zestawu funkcji generowania PDF (na kwiecień 2026). Biblioteka oferuje również usługę Open API dla przetwarzania dokumentów w chmurze. Deweloperzy powinni skonsultować się z dokumentacją ComPDFKit, aby potwierdzić szczegóły wdrożenia danego przypadku użycia i wszelkie ograniczenia renderowania frameworku CSS.

Jakie są porównania renderowania HTML ComPDFKit?

Podczas gdy IronPDF używa osadzonego silnika Chromium zapewniającego idealne odwzorowanie Bootstrap i CSS3, możliwości renderowaniaComPDFKiti kompatybilność frameworku CSS powinny być oceniane w odniesieniu do specyficznych wymagań dotyczących renderowania:

  • Silnik renderowania:IronPDF osadza Chromium, zapewniając spójne rendering CSS cross-browser
  • Wsparcie dla frameworku CSS: Silnik Chromium IronPDF obsługuje natywnie Bootstrap 5, Flexbox i CSS Grid
  • Wykonywanie JavaScriptu: Silnik IronPDF wykonuje JavaScript do dynamicznego renderowania treści
  • Przetwarzanie lokalne:IronPDF renderuje całkowicie na miejscu, bez zewnętrznych zależności usługowych

Czy Bootstrap CSS działa z generowaniem plików PDF?

Nowoczesne aplikacje e-commerce i biznesowe szeroko wykorzystują Bootstrap w celu zapewnienia spójnego projektu interfejsu użytkownika. Podczas generowania faktur, paragonów i raportów w formacie PDF zachowanie stylistyki Bootstrap zapewnia spójność marki. Osadzony w IronPDF silnik Chromium zapewnia pełne wsparcie dla Bootstrap, podczas gdy możliwości renderowaniaComPDFKitz złożonymi frameworkami CSS powinny być oceniane na podstawie specyficznych wymagań projektu.

W jaki sposób IronPDF obsługuje stylizację Bootstrap?

IronPDF używa silnika renderowania Chromium, zapewniając idealne odwzorowanie Bootstrap dla wszystkich wersji (Bootstrap 5, 4 i 3). Biblioteka płynnie obsługuje układy Flexbox, CSS Grid, narzędzia responsywne oraz komponenty niestandardowe. Aby uzyskać informacje na temat zaawansowanego renderowania CSS, zapoznaj się z przewodnikiem po opcjach renderowania.

using IronPdf;

// Set license
IronPdf.License.LicenseKey = "License-Key";

var renderer = new ChromePdfRenderer();

// Bootstrap 5 e-commerce invoice example
string bootstrapInvoice = @"
<!DOCTYPE html>
<html lang='en'>
<head>
    <meta charset='utf-8'>
    <meta name='viewport' content='width=device-width, initial-scale=1'>
    <link href='___PROTECTED_URL_138___ rel='stylesheet'>
    <style>
        @page { margin: 20mm; }
        .invoice-header { border-bottom: 3px solid #0d6efd; }
        .product-row { border-bottom: 1px solid #dee2e6; }
        .total-section { background-color: #f8f9fa; }
    </style>
</head>
<body>
    <div class='container-fluid p-4'>

        <div class='row invoice-header pb-4 mb-4'>
            <div class='col-8'>
                <h1 class='display-4 text-primary'>INVOICE</h1>
                <p class='text-muted mb-0'>TechStore Inc.</p>
                <p class='text-muted mb-0'>123 Commerce Street, Tech City, TC 12345</p>
                <p class='text-muted'>Email: sales@techstore.com | Phone: (555) 123-4567</p>
            </div>
            <div class='col-4 text-end'>
                <p class='mb-1'><strong>Invoice #:</strong> INV-2024-1089</p>
                <p class='mb-1'><strong>Date:</strong> October 27, 2024</p>
                <p class='mb-1'><strong>Due Date:</strong> November 27, 2024</p>
                <span class='badge bg-success'>PAID</span>
            </div>
        </div>

        <div class='row mb-4'>
            <div class='col-6'>
                <h5 class='text-primary'>Bill To:</h5>
                <p class='mb-1'><strong>Acme Corporation</strong></p>
                <p class='mb-1'>456 Business Ave</p>
                <p class='mb-1'>Enterprise City, EC 67890</p>
                <p class='mb-0'>contact@acmecorp.com</p>
            </div>
            <div class='col-6 text-end'>
                <h5 class='text-primary'>Payment Method:</h5>
                <p class='mb-1'>Credit Card ending in 4242</p>
                <p class='mb-0'>Transaction ID: TXN-9876543210</p>
            </div>
        </div>

        <div class='row mb-4'>
            <div class='col-12'>
                <table class='table'>
                    <thead class='table-primary'>
                        <tr>
                            <th scope='col'>#</th>
                            <th scope='col'>Product</th>
                            <th scope='col'>Description</th>
                            <th scope='col' class='text-center'>Qty</th>
                            <th scope='col' class='text-end'>Unit Price</th>
                            <th scope='col' class='text-end'>Amount</th>
                        </tr>
                    </thead>
                    <tbody>
                        <tr class='product-row'>
                            <td>1</td>
                            <td><strong>IronPDF Pro License</strong></td>
                            <td>Professional developer license with 1 year support</td>
                            <td class='text-center'>1</td>
                            <td class='text-end'>$2,999.00</td>
                            <td class='text-end'><strong>$2,999.00</strong></td>
                        </tr>
                        <tr class='product-row'>
                            <td>2</td>
                            <td><strong>Priority Support</strong></td>
                            <td>24/7 priority technical support package</td>
                            <td class='text-center'>1</td>
                            <td class='text-end'>$999.00</td>
                            <td class='text-end'><strong>$999.00</strong></td>
                        </tr>
                        <tr class='product-row'>
                            <td>3</td>
                            <td><strong>Training Package</strong></td>
                            <td>On-site developer training (2 days)</td>
                            <td class='text-center'>1</td>
                            <td class='text-end'>$1,500.00</td>
                            <td class='text-end'><strong>$1,500.00</strong></td>
                        </tr>
                    </tbody>
                </table>
            </div>
        </div>

        <div class='row justify-content-end mb-4'>
            <div class='col-md-6'>
                <div class='card total-section'>
                    <div class='card-body'>
                        <div class='row mb-2'>
                            <div class='col-6'><strong>Subtotal:</strong></div>
                            <div class='col-6 text-end'>$5,498.00</div>
                        </div>
                        <div class='row mb-2'>
                            <div class='col-6'><strong>Tax (8.5%):</strong></div>
                            <div class='col-6 text-end'>$467.33</div>
                        </div>
                        <div class='row mb-2'>
                            <div class='col-6 text-success'><strong>Discount (10%):</strong></div>
                            <div class='col-6 text-end text-success'>-$549.80</div>
                        </div>
                        <hr>
                        <div class='row'>
                            <div class='col-6'><h4 class='text-primary'>Total:</h4></div>
                            <div class='col-6 text-end'><h4 class='text-primary'>$5,415.53</h4></div>
                        </div>
                    </div>
                </div>
            </div>
        </div>

        <div class='row mb-4'>
            <div class='col-12'>
                <div class='alert alert-info' role='alert'>
                    <h6 class='alert-heading'>Payment Terms</h6>
                    <p class='mb-0'>Payment is due within 30 days. Late payments may incur a 1.5% monthly interest charge. Thank you for your business!</p>
                </div>
            </div>
        </div>

        <div class='row border-top pt-3'>
            <div class='col-12 text-center text-muted'>
                <small>TechStore Inc. | Tax ID: 12-3456789 | All prices in USD</small>
            </div>
        </div>
    </div>
</body>
</html>";

// Render PDF with optimized settings
var pdf = renderer.RenderHtmlAsPdf(bootstrapInvoice);

// Add metadata for document management
pdf.MetaData.Title = "Invoice INV-2024-1089";
pdf.MetaData.Author = "TechStore Inc.";
pdf.MetaData.Subject = "Sales Invoice";
pdf.MetaData.Keywords = "invoice, payment, e-commerce";

// Save the invoice
pdf.SaveAs("invoice-with-bootstrap.pdf");
using IronPdf;

// Set license
IronPdf.License.LicenseKey = "License-Key";

var renderer = new ChromePdfRenderer();

// Bootstrap 5 e-commerce invoice example
string bootstrapInvoice = @"
<!DOCTYPE html>
<html lang='en'>
<head>
    <meta charset='utf-8'>
    <meta name='viewport' content='width=device-width, initial-scale=1'>
    <link href='___PROTECTED_URL_138___ rel='stylesheet'>
    <style>
        @page { margin: 20mm; }
        .invoice-header { border-bottom: 3px solid #0d6efd; }
        .product-row { border-bottom: 1px solid #dee2e6; }
        .total-section { background-color: #f8f9fa; }
    </style>
</head>
<body>
    <div class='container-fluid p-4'>

        <div class='row invoice-header pb-4 mb-4'>
            <div class='col-8'>
                <h1 class='display-4 text-primary'>INVOICE</h1>
                <p class='text-muted mb-0'>TechStore Inc.</p>
                <p class='text-muted mb-0'>123 Commerce Street, Tech City, TC 12345</p>
                <p class='text-muted'>Email: sales@techstore.com | Phone: (555) 123-4567</p>
            </div>
            <div class='col-4 text-end'>
                <p class='mb-1'><strong>Invoice #:</strong> INV-2024-1089</p>
                <p class='mb-1'><strong>Date:</strong> October 27, 2024</p>
                <p class='mb-1'><strong>Due Date:</strong> November 27, 2024</p>
                <span class='badge bg-success'>PAID</span>
            </div>
        </div>

        <div class='row mb-4'>
            <div class='col-6'>
                <h5 class='text-primary'>Bill To:</h5>
                <p class='mb-1'><strong>Acme Corporation</strong></p>
                <p class='mb-1'>456 Business Ave</p>
                <p class='mb-1'>Enterprise City, EC 67890</p>
                <p class='mb-0'>contact@acmecorp.com</p>
            </div>
            <div class='col-6 text-end'>
                <h5 class='text-primary'>Payment Method:</h5>
                <p class='mb-1'>Credit Card ending in 4242</p>
                <p class='mb-0'>Transaction ID: TXN-9876543210</p>
            </div>
        </div>

        <div class='row mb-4'>
            <div class='col-12'>
                <table class='table'>
                    <thead class='table-primary'>
                        <tr>
                            <th scope='col'>#</th>
                            <th scope='col'>Product</th>
                            <th scope='col'>Description</th>
                            <th scope='col' class='text-center'>Qty</th>
                            <th scope='col' class='text-end'>Unit Price</th>
                            <th scope='col' class='text-end'>Amount</th>
                        </tr>
                    </thead>
                    <tbody>
                        <tr class='product-row'>
                            <td>1</td>
                            <td><strong>IronPDF Pro License</strong></td>
                            <td>Professional developer license with 1 year support</td>
                            <td class='text-center'>1</td>
                            <td class='text-end'>$2,999.00</td>
                            <td class='text-end'><strong>$2,999.00</strong></td>
                        </tr>
                        <tr class='product-row'>
                            <td>2</td>
                            <td><strong>Priority Support</strong></td>
                            <td>24/7 priority technical support package</td>
                            <td class='text-center'>1</td>
                            <td class='text-end'>$999.00</td>
                            <td class='text-end'><strong>$999.00</strong></td>
                        </tr>
                        <tr class='product-row'>
                            <td>3</td>
                            <td><strong>Training Package</strong></td>
                            <td>On-site developer training (2 days)</td>
                            <td class='text-center'>1</td>
                            <td class='text-end'>$1,500.00</td>
                            <td class='text-end'><strong>$1,500.00</strong></td>
                        </tr>
                    </tbody>
                </table>
            </div>
        </div>

        <div class='row justify-content-end mb-4'>
            <div class='col-md-6'>
                <div class='card total-section'>
                    <div class='card-body'>
                        <div class='row mb-2'>
                            <div class='col-6'><strong>Subtotal:</strong></div>
                            <div class='col-6 text-end'>$5,498.00</div>
                        </div>
                        <div class='row mb-2'>
                            <div class='col-6'><strong>Tax (8.5%):</strong></div>
                            <div class='col-6 text-end'>$467.33</div>
                        </div>
                        <div class='row mb-2'>
                            <div class='col-6 text-success'><strong>Discount (10%):</strong></div>
                            <div class='col-6 text-end text-success'>-$549.80</div>
                        </div>
                        <hr>
                        <div class='row'>
                            <div class='col-6'><h4 class='text-primary'>Total:</h4></div>
                            <div class='col-6 text-end'><h4 class='text-primary'>$5,415.53</h4></div>
                        </div>
                    </div>
                </div>
            </div>
        </div>

        <div class='row mb-4'>
            <div class='col-12'>
                <div class='alert alert-info' role='alert'>
                    <h6 class='alert-heading'>Payment Terms</h6>
                    <p class='mb-0'>Payment is due within 30 days. Late payments may incur a 1.5% monthly interest charge. Thank you for your business!</p>
                </div>
            </div>
        </div>

        <div class='row border-top pt-3'>
            <div class='col-12 text-center text-muted'>
                <small>TechStore Inc. | Tax ID: 12-3456789 | All prices in USD</small>
            </div>
        </div>
    </div>
</body>
</html>";

// Render PDF with optimized settings
var pdf = renderer.RenderHtmlAsPdf(bootstrapInvoice);

// Add metadata for document management
pdf.MetaData.Title = "Invoice INV-2024-1089";
pdf.MetaData.Author = "TechStore Inc.";
pdf.MetaData.Subject = "Sales Invoice";
pdf.MetaData.Keywords = "invoice, payment, e-commerce";

// Save the invoice
pdf.SaveAs("invoice-with-bootstrap.pdf");
Imports IronPdf

' Set license
IronPdf.License.LicenseKey = "License-Key"

Dim renderer As New ChromePdfRenderer()

' Bootstrap 5 e-commerce invoice example
Dim bootstrapInvoice As String = "
<!DOCTYPE html>
<html lang='en'>
<head>
    <meta charset='utf-8'>
    <meta name='viewport' content='width=device-width, initial-scale=1'>
    <link href='___PROTECTED_URL_138___ rel='stylesheet'>
    <style>
        @page { margin: 20mm; }
        .invoice-header { border-bottom: 3px solid #0d6efd; }
        .product-row { border-bottom: 1px solid #dee2e6; }
        .total-section { background-color: #f8f9fa; }
    </style>
</head>
<body>
    <div class='container-fluid p-4'>

        <div class='row invoice-header pb-4 mb-4'>
            <div class='col-8'>
                <h1 class='display-4 text-primary'>INVOICE</h1>
                <p class='text-muted mb-0'>TechStore Inc.</p>
                <p class='text-muted mb-0'>123 Commerce Street, Tech City, TC 12345</p>
                <p class='text-muted'>Email: sales@techstore.com | Phone: (555) 123-4567</p>
            </div>
            <div class='col-4 text-end'>
                <p class='mb-1'><strong>Invoice #:</strong> INV-2024-1089</p>
                <p class='mb-1'><strong>Date:</strong> October 27, 2024</p>
                <p class='mb-1'><strong>Due Date:</strong> November 27, 2024</p>
                <span class='badge bg-success'>PAID</span>
            </div>
        </div>

        <div class='row mb-4'>
            <div class='col-6'>
                <h5 class='text-primary'>Bill To:</h5>
                <p class='mb-1'><strong>Acme Corporation</strong></p>
                <p class='mb-1'>456 Business Ave</p>
                <p class='mb-1'>Enterprise City, EC 67890</p>
                <p class='mb-0'>contact@acmecorp.com</p>
            </div>
            <div class='col-6 text-end'>
                <h5 class='text-primary'>Payment Method:</h5>
                <p class='mb-1'>Credit Card ending in 4242</p>
                <p class='mb-0'>Transaction ID: TXN-9876543210</p>
            </div>
        </div>

        <div class='row mb-4'>
            <div class='col-12'>
                <table class='table'>
                    <thead class='table-primary'>
                        <tr>
                            <th scope='col'>#</th>
                            <th scope='col'>Product</th>
                            <th scope='col'>Description</th>
                            <th scope='col' class='text-center'>Qty</th>
                            <th scope='col' class='text-end'>Unit Price</th>
                            <th scope='col' class='text-end'>Amount</th>
                        </tr>
                    </thead>
                    <tbody>
                        <tr class='product-row'>
                            <td>1</td>
                            <td><strong>IronPDF Pro License</strong></td>
                            <td>Professional developer license with 1 year support</td>
                            <td class='text-center'>1</td>
                            <td class='text-end'>$2,999.00</td>
                            <td class='text-end'><strong>$2,999.00</strong></td>
                        </tr>
                        <tr class='product-row'>
                            <td>2</td>
                            <td><strong>Priority Support</strong></td>
                            <td>24/7 priority technical support package</td>
                            <td class='text-center'>1</td>
                            <td class='text-end'>$999.00</td>
                            <td class='text-end'><strong>$999.00</strong></td>
                        </tr>
                        <tr class='product-row'>
                            <td>3</td>
                            <td><strong>Training Package</strong></td>
                            <td>On-site developer training (2 days)</td>
                            <td class='text-center'>1</td>
                            <td class='text-end'>$1,500.00</td>
                            <td class='text-end'><strong>$1,500.00</strong></td>
                        </tr>
                    </tbody>
                </table>
            </div>
        </div>

        <div class='row justify-content-end mb-4'>
            <div class='col-md-6'>
                <div class='card total-section'>
                    <div class='card-body'>
                        <div class='row mb-2'>
                            <div class='col-6'><strong>Subtotal:</strong></div>
                            <div class='col-6 text-end'>$5,498.00</div>
                        </div>
                        <div class='row mb-2'>
                            <div class='col-6'><strong>Tax (8.5%):</strong></div>
                            <div class='col-6 text-end'>$467.33</div>
                        </div>
                        <div class='row mb-2'>
                            <div class='col-6 text-success'><strong>Discount (10%):</strong></div>
                            <div class='col-6 text-end text-success'>-$549.80</div>
                        </div>
                        <hr>
                        <div class='row'>
                            <div class='col-6'><h4 class='text-primary'>Total:</h4></div>
                            <div class='col-6 text-end'><h4 class='text-primary'>$5,415.53</h4></div>
                        </div>
                    </div>
                </div>
            </div>
        </div>

        <div class='row mb-4'>
            <div class='col-12'>
                <div class='alert alert-info' role='alert'>
                    <h6 class='alert-heading'>Payment Terms</h6>
                    <p class='mb-0'>Payment is due within 30 days. Late payments may incur a 1.5% monthly interest charge. Thank you for your business!</p>
                </div>
            </div>
        </div>

        <div class='row border-top pt-3'>
            <div class='col-12 text-center text-muted'>
                <small>TechStore Inc. | Tax ID: 12-3456789 | All prices in USD</small>
            </div>
        </div>
    </div>
</body>
</html>"

' Render PDF with optimized settings
Dim pdf = renderer.RenderHtmlAsPdf(bootstrapInvoice)

' Add metadata for document management
pdf.MetaData.Title = "Invoice INV-2024-1089"
pdf.MetaData.Author = "TechStore Inc."
pdf.MetaData.Subject = "Sales Invoice"
pdf.MetaData.Keywords = "invoice, payment, e-commerce"

' Save the invoice
pdf.SaveAs("invoice-with-bootstrap.pdf")
$vbLabelText   $csharpLabel

Przedstawione kluczowe funkcje Bootstrap:

  • System siatki: klasy row i col-* do struktury układu responsywnego
  • Typografia: display-4, text-muted, h5 dla hierarchicznego stylu tekstu
  • Tabele: table, table-primary, table-hover do wyświetlania uporządkowanych danych
  • Karty: card i card-body dla sekcji z sumami z tłem stylizacji
  • Odznaki: badge bg-success dla wskaźników statusu płatności
  • Alerty: alert alert-info dla powiadomień o warunkach płatności
  • Utility: text-end, text-center, mb-*, pb-* narzędzia do rozmieszczania
  • Stylizacja niestandardowa: połączona z klasami Bootstrap w celu uzyskania projektu dostosowanego do faktur

Silnik Chromium firmy IronPDF zapewnia doskonałe renderowanie komponentów Bootstrap:

  • System siatki: klasy row i col-* dla układu responsywnego
  • Typografia: display-4, text-muted, h5 dla stylizacji hierarchicznej
  • Tabele: table, table-primary, table-hover dla uporządkowanych danych
  • Karty: card i card-body dla stylizowanych sekcji
  • Odznaki: badge bg-success dla wskaźników statusu
  • Alerty: alert alert-info dla powiadomień
  • Utility: text-end, text-center, narzędzia do rozmieszczania
  • Stylizacja niestandardowa: w połączeniu z Bootstrapem do projektowania faktur

W przypadku czcionek internetowych i ikonIronPDF zapewnia pełną obsługę niestandardowej typografii. W przypadku rozwiązywania problemów z układami Bootstrap należy zapoznać się z sekcją Rozwiązywanie problemów z Bootstrap Flex CSS. W przypadku ustawień okna wyświetlania i Zoom odpowiednia konfiguracja zapewnia prawidłowe renderowanie responsywnych układów.

Jakie są rozważaniaComPDFKitdotyczące Bootstrap?

Konwersja HTML na PDF wComPDFKitnie korzysta z osadzonego silnika Chromium, co oznacza, że złożone układy Bootstrap, CSS Grid i renderowanie Flexbox mogą dawać inne wyniki w porównaniu do natywnego silnika przeglądarki.

  • Wsparcie dla frameworków CSS: Renderowanie złożonych układów Flexbox lub CSS Grid może się różnić
  • Spójność renderowania: Wyniki zależą od implementacji silnika HTML
  • Indywidualne stylizowanie: Dokładność renderowania komponentów Bootstrap powinna być testowana względem wymagań projektu

Dla aplikacji wymagających niezawodnego renderowania Bootstrap z pełną kontrolą nad stylizowaniem i układem, zintegrowany silnik Chromium w IronPDF zapewnia spójne wyniki. Zintegrowane podejście IronPDF utrzymuje pełną zgodność z frameworkami CSS bez polegania na zewnętrznych usługach renderowania.

Jak dodać znaki wodne do plików PDF?

Znak wodny w plikach PDF pomaga chronić integralność dokumentu, potwierdzić własność i zwiększyć bezpieczeństwo. Znaki wodne mogą mieć postać tekstu, logo lub obrazów pojawiających się w tle lub na pierwszym planie. Zapobiegają one nieuprawnionemu użyciu i rozpowszechnianiu, jednocześnie przekazując ważne informacje o statusie dokumentu lub tożsamości autora.

Jak dodać znaki wodne za pomocą IronPDF?

IronPDF umożliwia proste programowe nakładanie znaków wodnych na dokumenty PDF. Ta funkcja jest zintegrowana z biblioteką, co pozwala programistom na stosowanie znaków wodnych przy użyciu kodu C#. W zakresie umieszczania w tle i na pierwszym planieIronPDF oferuje elastyczne opcje pozycjonowania.

using IronPdf;
using IronPdf.Editing;

class Program
{
    static void Main()
    {
        License.LicenseKey = "License-Code";

        string watermarkHtml = @"
            <img style='width: 500px;' src='C:\Users\Tayyab Ali\Desktop\watermark.png'>
            <h1>IronPDF Watermark</h1>";

        ChromePdfRenderer renderer = new ChromePdfRenderer();
        PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>It's a PDF with a watermark</h1>");
        // Apply watermark with 30 degrees rotation and 50% opacity
        pdf.ApplyWatermark(watermarkHtml, rotation: 30, opacity: 50);
        pdf.SaveAs("Confidential.pdf");
    }
}
using IronPdf;
using IronPdf.Editing;

class Program
{
    static void Main()
    {
        License.LicenseKey = "License-Code";

        string watermarkHtml = @"
            <img style='width: 500px;' src='C:\Users\Tayyab Ali\Desktop\watermark.png'>
            <h1>IronPDF Watermark</h1>";

        ChromePdfRenderer renderer = new ChromePdfRenderer();
        PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>It's a PDF with a watermark</h1>");
        // Apply watermark with 30 degrees rotation and 50% opacity
        pdf.ApplyWatermark(watermarkHtml, rotation: 30, opacity: 50);
        pdf.SaveAs("Confidential.pdf");
    }
}
Imports IronPdf
Imports IronPdf.Editing

Friend Class Program
	Shared Sub Main()
		License.LicenseKey = "License-Code"

		Dim watermarkHtml As String = "
            <img style='width: 500px;' src='C:\Users\Tayyab Ali\Desktop\watermark.png'>
            <h1>IronPDF Watermark</h1>"

		Dim renderer As New ChromePdfRenderer()
		Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>It's a PDF with a watermark</h1>")
		' Apply watermark with 30 degrees rotation and 50% opacity
		pdf.ApplyWatermark(watermarkHtml, rotation:= 30, opacity:= 50)
		pdf.SaveAs("Confidential.pdf")
	End Sub
End Class
$vbLabelText   $csharpLabel

Strona PDF z czerwonym znakiem wodnym

Ten przykład używa ChromePdfRenderer do stworzenia PDF z HTML. Metoda ApplyWatermark stosuje znak wodny zawierający obraz i nagłówek. Obrót jest ustawiony na 30 stopni przy 50% kryciu, co zapewnia widoczność bez przytłaczania treści. Powstały plik PDF zostanie zapisany w określonej ścieżce.

Jakie są zaawansowane opcje znakowania wodnego?

IronPDF zapewnia pełne możliwości dodawania znaków wodnych:

  • Znaki wodne oparte na HTML: Używaj pełnego HTML/CSS do złożonych projektów
  • Kontrola pozycjonowania: System umieszczania w siatce 3x3
  • Ustawienia krycia: precyzyjna regulacja poziomów przezroczystości
  • Opcje obrotu: zastosuj dowolny kąt dla ukośnych znaków wodnych
  • Wybór stron: Zastosuj do wszystkich stron lub określonych zakresów
  • Wiele znaków wodnych: Nakładaj różne znaki wodne w zależności od potrzeb

Aby zapoznać się z zaawansowanymi technikami, zobacz: stemplowanie tekstu i obrazów lub efektywne dodawanie wielu stempli. Przewodnik dotyczący stemplowania nowych treści pokazuje dynamiczne generowanie znaków wodnych.

Jak dodać znaki wodne za pomocą ComPDFKit?

ComPDFKit zapewnia funkcjonalność programowego dodawania znaków wodnych przy użyciu metod biblioteki. Ten przykład kodu pokazuje, jak dodać tekstowy znak wodny:

static private bool AddTextWatermark(CPDFDocument document)
{
    CPDFWatermark watermark = document.InitWatermark(C_Watermark_Type.WATERMARK_TYPE_TEXT);
    watermark.SetText("test");
    watermark.SetFontName("Helvetica"); 
    watermark.SetPages("0-3");
    byte[] color = { 255, 0, 0 };
    watermark.SetTextRGBColor(color);
    watermark.SetScale(2);
    watermark.SetRotation(0);
    watermark.SetOpacity(120);
    watermark.SetVertalign(C_Watermark_Vertalign.WATERMARK_VERTALIGN_CENTER);
    watermark.SetHorizalign(C_Watermark_Horizalign.WATERMARK_HORIZALIGN_CENTER);
    watermark.SetVertOffset(0);
    watermark.SetHorizOffset(0);
    watermark.SetFront(true);
    watermark.SetFullScreen(true);
    watermark.SetVerticalSpacing(10);
    watermark.SetHorizontalSpacing(10);
    watermark.CreateWatermark();
    string path = "AddTextWatermarkTest.pdf";
    if (!document.WriteToFilePath(path))
    {
        return false;
    }
    Console.WriteLine("Browse the changed file in " + path);
    return true;
}

CPDFDocument document = CPDFDocument.InitWithFilePath("SamplePDF.pdf");
if (AddTextWatermark(document))
{
    Console.WriteLine("Add text watermark done.");
}
else
{
    Console.WriteLine("Add text watermark failed.");
}
static private bool AddTextWatermark(CPDFDocument document)
{
    CPDFWatermark watermark = document.InitWatermark(C_Watermark_Type.WATERMARK_TYPE_TEXT);
    watermark.SetText("test");
    watermark.SetFontName("Helvetica"); 
    watermark.SetPages("0-3");
    byte[] color = { 255, 0, 0 };
    watermark.SetTextRGBColor(color);
    watermark.SetScale(2);
    watermark.SetRotation(0);
    watermark.SetOpacity(120);
    watermark.SetVertalign(C_Watermark_Vertalign.WATERMARK_VERTALIGN_CENTER);
    watermark.SetHorizalign(C_Watermark_Horizalign.WATERMARK_HORIZALIGN_CENTER);
    watermark.SetVertOffset(0);
    watermark.SetHorizOffset(0);
    watermark.SetFront(true);
    watermark.SetFullScreen(true);
    watermark.SetVerticalSpacing(10);
    watermark.SetHorizontalSpacing(10);
    watermark.CreateWatermark();
    string path = "AddTextWatermarkTest.pdf";
    if (!document.WriteToFilePath(path))
    {
        return false;
    }
    Console.WriteLine("Browse the changed file in " + path);
    return true;
}

CPDFDocument document = CPDFDocument.InitWithFilePath("SamplePDF.pdf");
if (AddTextWatermark(document))
{
    Console.WriteLine("Add text watermark done.");
}
else
{
    Console.WriteLine("Add text watermark failed.");
}
Private Shared Function AddTextWatermark(ByVal document As CPDFDocument) As Boolean
	Dim watermark As CPDFWatermark = document.InitWatermark(C_Watermark_Type.WATERMARK_TYPE_TEXT)
	watermark.SetText("test")
	watermark.SetFontName("Helvetica")
	watermark.SetPages("0-3")
	Dim color() As Byte = { 255, 0, 0 }
	watermark.SetTextRGBColor(color)
	watermark.SetScale(2)
	watermark.SetRotation(0)
	watermark.SetOpacity(120)
	watermark.SetVertalign(C_Watermark_Vertalign.WATERMARK_VERTALIGN_CENTER)
	watermark.SetHorizalign(C_Watermark_Horizalign.WATERMARK_HORIZALIGN_CENTER)
	watermark.SetVertOffset(0)
	watermark.SetHorizOffset(0)
	watermark.SetFront(True)
	watermark.SetFullScreen(True)
	watermark.SetVerticalSpacing(10)
	watermark.SetHorizontalSpacing(10)
	watermark.CreateWatermark()
	Dim path As String = "AddTextWatermarkTest.pdf"
	If Not document.WriteToFilePath(path) Then
		Return False
	End If
	Console.WriteLine("Browse the changed file in " & path)
	Return True
End Function

Private document As CPDFDocument = CPDFDocument.InitWithFilePath("SamplePDF.pdf")
If AddTextWatermark(document) Then
	Console.WriteLine("Add text watermark done.")
Else
	Console.WriteLine("Add text watermark failed.")
End If
$vbLabelText   $csharpLabel

Strona PDF z powtarzającym się tekstem znaku wodnego

Ten przykład otwiera istniejący plik PDF przy użyciu CPDFDocument. Metoda AddTextWatermark inicjalizuje tekstowy znak wodny, ustawiając właściwości takie jak zawartość tekstu, czcionka, kolor, skala, rotacja, przezroczystość, wyrównanie i odstępy. Znak wodny jest nakładany na określone strony i zapisywany w zdefiniowanej ścieżce. W przypadku znaków wodnych na obrazach wymagane są różne metody, co zwiększa złożoność wdrożenia.

Jak tworzyć dokumenty zgodne ze standardem PDF/A?

PDF/A to znormalizowana wersja formatu PDF przeznaczona do długoterminowej archiwizacji cyfrowej. Zapewnienie zgodności z formatem PDF/A gwarantuje niezawodne wyświetlanie i odtwarzanie w przyszłości. W tej sekcji omówiono tworzenie dokumentów zgodnych ze standardem PDF/A przy użyciu obu bibliotek.

W jaki sposób IronPDF tworzy dokumenty PDF/A?

IronPDF ułatwia konwersję standardowych plików PDF do formatów zgodnych z PDF/A. Biblioteka obsługuje różne standardy PDF/A, w tym PDF/A-1, PDF/A-2 i PDF/A-3. Informacje na temat aktualizacji dotyczących kamieni milowych PDF/A oraz PDF/A-3 z obsługą ZUGFeRD można znaleźć w ogłoszeniach dotyczących produktów.

using IronPdf;
using System;

class Program
{
    static void Main()
    {
        License.LicenseKey = "License-Key";
        PdfDocument pdf = PdfDocument.FromFile("Source.pdf");
        pdf.SaveAsPdfA("pdfa-compliant.pdf", PdfAVersions.PdfA3);
    }
}
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        License.LicenseKey = "License-Key";
        PdfDocument pdf = PdfDocument.FromFile("Source.pdf");
        pdf.SaveAsPdfA("pdfa-compliant.pdf", PdfAVersions.PdfA3);
    }
}
Imports IronPdf
Imports System

Friend Class Program
	Shared Sub Main()
		License.LicenseKey = "License-Key"
		Dim pdf As PdfDocument = PdfDocument.FromFile("Source.pdf")
		pdf.SaveAsPdfA("pdfa-compliant.pdf", PdfAVersions.PdfA3)
	End Sub
End Class
$vbLabelText   $csharpLabel

Proces obejmuje:

  1. Zainicjuj IronPDF: Zacznij od zaimportowania biblioteki IronPDF i ustawienia klucza licencyjnego.
  2. Załaduj plik PDF: Użyj metody PdfDocument.FromFile, aby załadować źródłowy plik PDF.
  3. Konwersja i zapis: Przekonwertuj załadowany plik PDF do formatu PDF/A, określając żądaną wersję PDF/A i zapisując wynikowy dokument.

Dlaczego warto wybrać format PDF/A do archiwizacji dokumentów?

Format PDF/A oferuje kilka zalet w zakresie długoterminowej archiwizacji:

  • Dokumenty samowystarczalne: wszystkie czcionki i zasoby osadzone
  • Brak zależności zewnętrznych: eliminuje zależność od treści zewnętrznych
  • Ujednolicony format: certyfikat ISO do celów archiwizacji
  • Zachowanie metadanych: Zachowuje właściwości dokumentu
  • Odtwarzalność wizualna: zapewnia spójny wygląd w czasie

IronPDF obsługuje również format PDF/UA w celu spełnienia wymagań dotyczących dostępności, zapewniając zgodność dokumentów z normami sekcji 508.

W jaki sposóbComPDFKittworzy dokumenty PDF/A?

ComPDFKit zapewnia niezawodną konwersję do formatu PDF/A poprzez inicjalizację dokumentu, zdefiniowanie ścieżki wyjściowej oraz wywołanie metody konwersji.

static public bool CovertToPDFA1a(CPDFDocument document)
{
    string convertToPDFA1aPath = "ConvertToPDFA1aTest.pdf";
    if (!document.WritePDFAToFilePath(CPDFType.CPDFTypePDFA1a, convertToPDFA1aPath))
    {
        return false;
    }
    Console.WriteLine("Browse the changed file in " + convertToPDFA1aPath);
    return true;
}

CPDFDocument document = CPDFDocument.InitWithFilePath("CommonFivePage.pdf");
if (CovertToPDFA1a(document))
{
    Console.WriteLine("Convert to PDF/A-1a done.");
}
else
{
    Console.WriteLine("Convert to PDF/A-1a failed.");
}
static public bool CovertToPDFA1a(CPDFDocument document)
{
    string convertToPDFA1aPath = "ConvertToPDFA1aTest.pdf";
    if (!document.WritePDFAToFilePath(CPDFType.CPDFTypePDFA1a, convertToPDFA1aPath))
    {
        return false;
    }
    Console.WriteLine("Browse the changed file in " + convertToPDFA1aPath);
    return true;
}

CPDFDocument document = CPDFDocument.InitWithFilePath("CommonFivePage.pdf");
if (CovertToPDFA1a(document))
{
    Console.WriteLine("Convert to PDF/A-1a done.");
}
else
{
    Console.WriteLine("Convert to PDF/A-1a failed.");
}
Public Shared Function CovertToPDFA1a(ByVal document As CPDFDocument) As Boolean
	Dim convertToPDFA1aPath As String = "ConvertToPDFA1aTest.pdf"
	If Not document.WritePDFAToFilePath(CPDFType.CPDFTypePDFA1a, convertToPDFA1aPath) Then
		Return False
	End If
	Console.WriteLine("Browse the changed file in " & convertToPDFA1aPath)
	Return True
End Function

Private document As CPDFDocument = CPDFDocument.InitWithFilePath("CommonFivePage.pdf")
If CovertToPDFA1a(document) Then
	Console.WriteLine("Convert to PDF/A-1a done.")
Else
	Console.WriteLine("Convert to PDF/A-1a failed.")
End If
$vbLabelText   $csharpLabel

Kroki obejmują:

  1. Zainicjuj dokument: Załaduj dokument PDF za pomocą CPDFDocument.InitWithFilePath.
  2. Skonfiguruj katalog wyjściowy: Upewnij się, że katalog wyjściowy istnieje, a jeśli to konieczne, utwórz go.
  3. Konwersja do formatu PDF/A: Użyj WritePDFAToFilePath z określonym typem PDF/A, aby przeprowadzić konwersję i zapisać plik.

Jak dodać podpisy cyfrowe do plików PDF?

Podpisy cyfrowe weryfikują autentyczność i integralność dokumentów. W tej sekcji pokazano dodawanie podpisów cyfrowych przy użyciu obu bibliotek. Aby w pełni wdrożyć podpisy cyfrowe,IronPDF udostępnia obszerną dokumentację.

Jak podpisywać pliki PDF za pomocą IronPDF?

IronPDF zapewnia prostą i skuteczną aplikację do podpisów cyfrowych. Biblioteka obsługuje certyfikaty X.509 oraz integrację z modułem HSM w celu spełnienia wymagań bezpieczeństwa Enterprise.

using IronPdf;
using IronPdf.Signing;

class Program
{
    static void Main(string[] args)
    {
        var simpleSignature = new PdfSignature("MyCert.p12", "newpassword");
        simpleSignature.SignPdfFile("sample.pdf");
    }
}
using IronPdf;
using IronPdf.Signing;

class Program
{
    static void Main(string[] args)
    {
        var simpleSignature = new PdfSignature("MyCert.p12", "newpassword");
        simpleSignature.SignPdfFile("sample.pdf");
    }
}
Imports IronPdf
Imports IronPdf.Signing

Friend Class Program
	Shared Sub Main(ByVal args() As String)
		Dim simpleSignature = New PdfSignature("MyCert.p12", "newpassword")
		simpleSignature.SignPdfFile("sample.pdf")
	End Sub
End Class
$vbLabelText   $csharpLabel

Proces obejmuje:

  1. Zainicjuj IronPDF: Zaimportuj niezbędne biblioteki IronPDF.
  2. Utwórz podpis: Zainicjuj obiekt PdfSignature przy użyciu pliku certyfikatu i hasła.
  3. Podpisz plik PDF: Umieść podpis w pliku PDF za pomocą funkcji SignPdfFile.

Jakie zaawansowane opcje podpisywania oferuje IronPDF?

IronPDF oferuje kompletne funkcje podpisu cyfrowego:

  • Różne typy podpisów: oparte na certyfikatach, wizualne oraz podpisy w polach formularzy
  • Obsługa HSM: integracja modułów bezpieczeństwa sprzętowego
  • Serwer znaczników czasu: Dodawaj zaufane znaczniki czasu do podpisów
  • Wygląd podpisu: Dostosuj wizualną reprezentację podpisu
  • Obsługa walidacji: programowa weryfikacja istniejących podpisów
  • Kontrola wersji: Zachowanie historii zmian

Aby rozwiązać problemy związane z podpisami, zapoznaj się z przewodnikiem dotyczącym rozwiązywania problemów z podpisami cyfrowymi.

Jak podpisywać pliki PDF za pomocą ComPDFKit?

ComPDFKit oferuje kompleksowe tworzenie podpisów cyfrowych z szerokimi możliwościami dostosowania.

private static void CreateDigitalSignature(CPDFDocument document, string certificatePath, string password)
{
    Console.WriteLine("--------------------");
    Console.WriteLine("Create digital signature.");
    CPDFSignatureCertificate certificate = CPDFPKCS12CertHelper.GetCertificateWithPKCS12Path("Certificate.pfx", "ComPDFKit");
    CPDFPage page = document.PageAtIndex(0);
    CPDFSignatureWidget signatureField = page.CreateWidget(C_WIDGET_TYPE.WIDGET_SIGNATUREFIELDS) as CPDFSignatureWidget;
    signatureField.SetRect(new CRect(28, 420, 150, 370));
    signatureField.SetWidgetBorderRGBColor(new byte[] { 0, 0, 0 });
    signatureField.SetWidgetBgRGBColor(new byte[] { 150, 180, 210 });
    signatureField.UpdateAp();
    string name = GetGrantorFromDictionary(certificate.SubjectDict) + "\n";
    string date = DateTime.Now.ToString("yyyy.MM.dd HH:mm:ss");
    string reason = "I am the owner of the document.";
    string location = certificate.SubjectDict["C"];
    string DN = certificate.Subject;

    CPDFSignatureConfig signatureConfig = new CPDFSignatureConfig
    {
        Text = GetGrantorFromDictionary(certificate.SubjectDict),
        Content =
            "Name: " + name + "\n" +
            "Date: " + date + "\n" +
            "Reason: " + reason + " \n" +
            "Location: " + location + "\n" +
            "DN: " + DN + "\n",
        IsContentAlignLeft = false,
        IsDrawLogo = true,
        LogoBitmap = new Bitmap("Logo.png"),
        TextColor = new float[] { 0, 0, 0 },
        ContentColor = new float[] { 0, 0, 0 }
    };
    string filePath = document.FileName + "_Signed.pdf";
    signatureField.UpdataApWithSignature(signatureConfig);
    if (document.WriteSignatureToFilePath(signatureField,
        filePath,
        certificatePath, password,
        location,
        reason, CPDFSignaturePermissions.CPDFSignaturePermissionsNone))
    {
        Console.WriteLine("File saved in " + filePath);
        Console.WriteLine("Create digital signature done.");
    }
    else
    {
        Console.WriteLine("Create digital signature failed.");
    }
    Console.WriteLine("--------------------");
}
private static void CreateDigitalSignature(CPDFDocument document, string certificatePath, string password)
{
    Console.WriteLine("--------------------");
    Console.WriteLine("Create digital signature.");
    CPDFSignatureCertificate certificate = CPDFPKCS12CertHelper.GetCertificateWithPKCS12Path("Certificate.pfx", "ComPDFKit");
    CPDFPage page = document.PageAtIndex(0);
    CPDFSignatureWidget signatureField = page.CreateWidget(C_WIDGET_TYPE.WIDGET_SIGNATUREFIELDS) as CPDFSignatureWidget;
    signatureField.SetRect(new CRect(28, 420, 150, 370));
    signatureField.SetWidgetBorderRGBColor(new byte[] { 0, 0, 0 });
    signatureField.SetWidgetBgRGBColor(new byte[] { 150, 180, 210 });
    signatureField.UpdateAp();
    string name = GetGrantorFromDictionary(certificate.SubjectDict) + "\n";
    string date = DateTime.Now.ToString("yyyy.MM.dd HH:mm:ss");
    string reason = "I am the owner of the document.";
    string location = certificate.SubjectDict["C"];
    string DN = certificate.Subject;

    CPDFSignatureConfig signatureConfig = new CPDFSignatureConfig
    {
        Text = GetGrantorFromDictionary(certificate.SubjectDict),
        Content =
            "Name: " + name + "\n" +
            "Date: " + date + "\n" +
            "Reason: " + reason + " \n" +
            "Location: " + location + "\n" +
            "DN: " + DN + "\n",
        IsContentAlignLeft = false,
        IsDrawLogo = true,
        LogoBitmap = new Bitmap("Logo.png"),
        TextColor = new float[] { 0, 0, 0 },
        ContentColor = new float[] { 0, 0, 0 }
    };
    string filePath = document.FileName + "_Signed.pdf";
    signatureField.UpdataApWithSignature(signatureConfig);
    if (document.WriteSignatureToFilePath(signatureField,
        filePath,
        certificatePath, password,
        location,
        reason, CPDFSignaturePermissions.CPDFSignaturePermissionsNone))
    {
        Console.WriteLine("File saved in " + filePath);
        Console.WriteLine("Create digital signature done.");
    }
    else
    {
        Console.WriteLine("Create digital signature failed.");
    }
    Console.WriteLine("--------------------");
}
Imports Microsoft.VisualBasic

Private Shared Sub CreateDigitalSignature(ByVal document As CPDFDocument, ByVal certificatePath As String, ByVal password As String)
	Console.WriteLine("--------------------")
	Console.WriteLine("Create digital signature.")
	Dim certificate As CPDFSignatureCertificate = CPDFPKCS12CertHelper.GetCertificateWithPKCS12Path("Certificate.pfx", "ComPDFKit")
	Dim page As CPDFPage = document.PageAtIndex(0)
	Dim signatureField As CPDFSignatureWidget = TryCast(page.CreateWidget(C_WIDGET_TYPE.WIDGET_SIGNATUREFIELDS), CPDFSignatureWidget)
	signatureField.SetRect(New CRect(28, 420, 150, 370))
	signatureField.SetWidgetBorderRGBColor(New Byte() { 0, 0, 0 })
	signatureField.SetWidgetBgRGBColor(New Byte() { 150, 180, 210 })
	signatureField.UpdateAp()
	Dim name As String = GetGrantorFromDictionary(certificate.SubjectDict) & vbLf
	Dim [date] As String = DateTime.Now.ToString("yyyy.MM.dd HH:mm:ss")
	Dim reason As String = "I am the owner of the document."
	Dim location As String = certificate.SubjectDict("C")
	Dim DN As String = certificate.Subject

	Dim signatureConfig As New CPDFSignatureConfig With {
		.Text = GetGrantorFromDictionary(certificate.SubjectDict),
		.Content = "Name: " & name & vbLf & "Date: " & [date] & vbLf & "Reason: " & reason & " " & vbLf & "Location: " & location & vbLf & "DN: " & DN & vbLf,
		.IsContentAlignLeft = False,
		.IsDrawLogo = True,
		.LogoBitmap = New Bitmap("Logo.png"),
		.TextColor = New Single() { 0, 0, 0 },
		.ContentColor = New Single() { 0, 0, 0 }
	}
	Dim filePath As String = document.FileName & "_Signed.pdf"
	signatureField.UpdataApWithSignature(signatureConfig)
	If document.WriteSignatureToFilePath(signatureField, filePath, certificatePath, password, location, reason, CPDFSignaturePermissions.CPDFSignaturePermissionsNone) Then
		Console.WriteLine("File saved in " & filePath)
		Console.WriteLine("Create digital signature done.")
	Else
		Console.WriteLine("Create digital signature failed.")
	End If
	Console.WriteLine("--------------------")
End Sub
$vbLabelText   $csharpLabel

Kroki obejmują:

  1. Zainicjuj dokument i certyfikat: Załaduj dokument PDF i pobierz certyfikat za pomocą CPDFPKCS12CertHelper.
  2. Utwórz i skonfiguruj pole podpisu: Dodaj pole podpisu do pliku PDF, ustaw jego właściwości i skonfiguruj szczegóły podpisu.
  3. Zastosuj podpis: Użyj WriteSignatureToFilePath, aby zastosować podpis i zapisać podpisany plik PDF.

Jak wyodrębnić tekst z plików PDF?

Pobieranie tekstu z dokumentów PDF ma kluczowe znaczenie dla przetwarzania i analizy danych. W tej sekcji wyjaśniono proces pozyskiwania tekstu przy użyciu obu bibliotek.

W jaki sposób IronPDF wyodrębnia tekst?

IronPDF umożliwia proste wyodrębnianie tekstu z dokumentów PDF. Biblioteka udostępnia metody do wyodrębniania całego tekstu lub konkretnej zawartości strony. W celu analizowania treści plików PDFIronPDF obsługuje ekstrakcję ustrukturyzowaną. Podczas uzyskiwania dostępu do obiektów DOM plików PDF programiści mogą pobierać szczegółowe informacje o treści.

using IronPdf;
using System.IO;

PdfDocument pdf = PdfDocument.FromFile("PDF File With Text.pdf");
string text = pdf.ExtractAllText();
File.WriteAllText("PDF Text.txt", text);
using IronPdf;
using System.IO;

PdfDocument pdf = PdfDocument.FromFile("PDF File With Text.pdf");
string text = pdf.ExtractAllText();
File.WriteAllText("PDF Text.txt", text);
Imports IronPdf
Imports System.IO

Private pdf As PdfDocument = PdfDocument.FromFile("PDF File With Text.pdf")
Private text As String = pdf.ExtractAllText()
File.WriteAllText("PDF Text.txt", text)
$vbLabelText   $csharpLabel

Proces obejmuje:

  1. Zainicjuj IronPDF: zaimportuj bibliotekę IronPDF.
  2. Załaduj plik PDF: Użyj metody PdfDocument.FromFile, aby załadować plik PDF.
  3. Wyodrębnij tekst: Wywołaj metodę ExtractAllText, aby pobrać całą zawartość tekstową z pliku PDF.
  4. Zapisz tekst do pliku: Zapisz wyodrębniony tekst do pliku przy użyciu standardowych operacji wejścia/wyjścia plików.

Jakie zaawansowane funkcje ekstrakcji tekstu są dostępne?

IronPDF oferuje zaawansowane funkcje wyodrębniania tekstu:

  • Pobieranie danych z poszczególnych stron: Pobieranie tekstu z poszczególnych stron
  • Treści ustrukturyzowane: Dostęp do tekstu z informacjami o formatowaniu
  • Wyszukiwanie i zamiana: Wyszukiwanie i zamiana tekstu w plikach PDF
  • Obsługa wyrażeń regularnych: Wyodrębnianie tekstu na podstawie wzorców
  • Pobieranie oparte na współrzędnych: Pobieranie tekstu z określonych obszarów
  • Obsługa języków: Obsługa znaków UTF-8 i znaków międzynarodowych

Pełne przykłady tekstów do czytania można znaleźć w przewodniku do czytania tekstów w formacie PDF.

W jaki sposóbComPDFKitwyodrębnia tekst?

ComPDFKit zapewnia elastyczne wyodrębnianie tekstu z dokumentów PDF.

static private bool PDFToText(CPDFDocument document)
{
    string path = "//PDFToText.txt";
    if (!document.PdfToText("1-" + document.PageCount.ToString(), path))//Page ranges are counted from 1
    {
        return false;
    }
    Console.WriteLine("Browse the generated file in " + path);
    return true;
}

static void Main(string[] args)
{
    Console.WriteLine("Running PDFPage test sample…\r\n");
    SDKLicenseHelper.LicenseVerify();
    CPDFDocument document = CPDFDocument.InitWithFilePath("CommonFivePage.pdf");

    if (PDFToText(document))
    {
        Console.WriteLine("PDF to text done.");
    }
    else
    {
        Console.WriteLine("PDF to text failed.");
    }
    Console.WriteLine("--------------------");
    Console.WriteLine("Done!");
    Console.WriteLine("--------------------");
    Console.ReadLine();
}
static private bool PDFToText(CPDFDocument document)
{
    string path = "//PDFToText.txt";
    if (!document.PdfToText("1-" + document.PageCount.ToString(), path))//Page ranges are counted from 1
    {
        return false;
    }
    Console.WriteLine("Browse the generated file in " + path);
    return true;
}

static void Main(string[] args)
{
    Console.WriteLine("Running PDFPage test sample…\r\n");
    SDKLicenseHelper.LicenseVerify();
    CPDFDocument document = CPDFDocument.InitWithFilePath("CommonFivePage.pdf");

    if (PDFToText(document))
    {
        Console.WriteLine("PDF to text done.");
    }
    else
    {
        Console.WriteLine("PDF to text failed.");
    }
    Console.WriteLine("--------------------");
    Console.WriteLine("Done!");
    Console.WriteLine("--------------------");
    Console.ReadLine();
}
Imports Microsoft.VisualBasic

Private Shared Function PDFToText(ByVal document As CPDFDocument) As Boolean
	Dim path As String = "//PDFToText.txt"
	If Not document.PdfToText("1-" & document.PageCount.ToString(), path) Then 'Page ranges are counted from 1
		Return False
	End If
	Console.WriteLine("Browse the generated file in " & path)
	Return True
End Function

Shared Sub Main(ByVal args() As String)
	Console.WriteLine("Running PDFPage test sample…" & vbCrLf)
	SDKLicenseHelper.LicenseVerify()
	Dim document As CPDFDocument = CPDFDocument.InitWithFilePath("CommonFivePage.pdf")

	If PDFToText(document) Then
		Console.WriteLine("PDF to text done.")
	Else
		Console.WriteLine("PDF to text failed.")
	End If
	Console.WriteLine("--------------------")
	Console.WriteLine("Done!")
	Console.WriteLine("--------------------")
	Console.ReadLine()
End Sub
$vbLabelText   $csharpLabel

Kroki są następujące:

  1. Zainicjuj dokument: Załaduj dokument PDF za pomocą CPDFDocument.InitWithFilePath.
  2. Wyodrębnij i zapisz tekst: Użyj PdfToText, aby wyodrębnić tekst z określonego zakresu stron i zapisać go do pliku.

Praktyczne scenariusze zastosowań

Zrozumienie, kiedy należy używać poszczególnych bibliotek, pomaga programistom podejmować świadome decyzje w oparciu o wymagania projektu. Poniższe scenariusze ilustrują praktyczne zastosowania, w których każda z bibliotek sprawdza się najlepiej.

Kiedy warto wybrać IronPDF?

System generowania dokumentów dla przedsiębiorstw Firma z branży usług finansowych musi generować ponad 50 000 miesięcznych wyciągów o złożonym układzie, zawierających wykresy i spełniających wymogi zgodności z przepisami.

Zalety IronPDF:

Platforma SaaS do generowania faktur Wielodostępna platforma SaaS generująca faktury z logo marki dla tysięcy klientów przy użyciu niestandardowych szablonów.

Zalety IronPDF:

  • Obsługa HTML/CSS: Pełna kompatybilność z Bootstrapem dla szablonów firmowych
  • Wydajność: wdrożenie Docker dla architektury skalowalnej
  • Dostosowanie: nagłówki/stopki i znaki wodne w celu budowania marki
  • Projektowanie API: Proste API skraca czas programowania
  • Gotowość do pracy w chmurze: natywna obsługa platform Azure i AWS

Kiedy warto rozważyć ComPDFKit?

Podstawowa aplikacja do przeglądania plików PDF Aplikacja desktopowa wymagająca przeglądania plików PDF i podstawowych funkcji adnotacji bez konieczności konwersji do formatu HTML.

Zalety ComPDFKit:

  • Komponent przeglądarki: wbudowana funkcja przeglądania
  • Narzędzia do adnotacji: Natywna obsługa adnotacji
  • Prosta integracja: bezpośrednia obróbka plików PDF bez HTML
  • Praca w trybie offline: brak zależności od sieci w przypadku podstawowych funkcji

System archiwizacji dokumentów Wewnętrzny system zarządzania dokumentami skupiony na porządkowaniu plików PDF i podstawowej edycji.

Zalety ComPDFKit:

  • Obsługa plików: Zaawansowane funkcje łączenia i dzielenia plików PDF
  • Podstawowa edycja: narzędzia do modyfikacji tekstu i obrazów
  • Podejście tradycyjne: znany projekt API oparty na formacie PDF

Jakie są opcje licencyjne?

Modele licencyjne dla IronPDF iComPDFKitróżnią się pod względem podejścia i warunków użytkowania. Zrozumienie tych różnic pomaga programistom wybrać odpowiednie narzędzie dostosowane do potrzeb projektu i budżetu.

Jakie opcje licencyjne oferuje IronPDF?

IronPDF pricing page showing three license tiers (Lite $999, Plus $1,499, Professional $2,999) with Professional selected, displaying 10 developers/locations/projects coverage and $4,998 total with extended support and upgrade protection.

IronPDF działa w oparciu o przejrzysty model licencji komercyjnych:

Rodzaje licencji:

  • Lite License ($999): 1 programista, 1 lokalizacja, 1 projekt
  • Plus License ($1,499): 3 deweloperów, 3 lokalizacje, 3 projekty
  • Professional License ($2,999): 10 programistów, 10 lokalizacji, 10 projektów
  • Przedsiębiorstwa/OEM: Indywidualne ceny za nieograniczone wdrożenie

Kluczowe zalety:

  • Licencja wieczysta: jednorazowa opłata za dożywotnie użytkowanie
  • Dystrybucja bez opłat licencyjnych: brak opłat za użytkowanie
  • Dostępny kod źródłowy: opcjonalny zakup do celów audytów bezpieczeństwa
  • Elastyczne aktualizacje: dostępne są przedłużenia licencji i aktualizacje
  • Okres próbny: Bezpłatna licencja próbna do oceny

Model biznesowy IronPDF gwarantuje Enterpriseom dedykowane wsparcie, kompletną dokumentację oraz zaawansowane funkcje do profesjonalnego tworzenia i edycji plików PDF. Przejrzysta struktura cenowa eliminuje ukryte koszty i zapewnia przewidywalność budżetu.

Jakie opcje licencyjne oferuje ComPDFKit?

ComPDFKit oferuje elastyczne licencje dostosowane do różnych potrzeb biznesowych:

Opcje licencji:

  • Licencja wieczysta: jednorazowa opłata za dożywotni dostęp do SDK
  • Licencja subskrypcyjna: regularne płatności z bieżącymi aktualizacjami
  • Ceny na podstawie wyceny: indywidualne wyceny w zależności od wymagań projektu

Uwagi:

  • Koszty zmienne: W celu uzyskania wyceny prosimy o bezpośredni kontakt
  • Opłaty za aktualizacje: Opcjonalne opłaty za aktualizacje wersji
  • Pakiety wsparcia: Oddzielne wymagania dotyczące umów wsparcia
  • Limity korzystania z API: Dodatkowe koszty mogą być naliczane za przetwarzanie oparte na chmurze

Jakie dokumenty i wsparcie są dostępne?

Jakie wsparcie zapewnia IronPDF?

IronPDF oferuje dokumentację i infrastrukturę wsparcia:

Materiały dokumentacyjne:

Kanały wsparcia:

  • Wsparcie techniczne 24/5: bezpośredni dostęp do zespołu programistów
  • Czas reakcji: Priorytetowa pomoc techniczna z gwarantowanym czasem reakcji
  • Przegląd kodu: zespół inżynierów dokonuje przeglądu złożonych implementacji
  • Rozwiązania niestandardowe: pomoc w przypadku specyficznych wymagań
  • Regularne aktualizacje: aktualizacje produktów i najważniejsze funkcje

W przypadku zgłaszania wniosków o wsparcie techniczne szczegółowe wytyczne zapewniają skuteczne rozwiązanie problemu. Infrastruktura wsparcia obejmuje pomoc we wdrażaniu na różnych platformach.

Jakie wsparcie zapewnia ComPDFKit?

ComPDFKit udostępnia podstawową dokumentację i zasoby pomocy technicznej:

Dokumentacja:

  • Przewodnik dla początkujących: Podstawowe instrukcje konfiguracji
  • Dokumentacja API: Standardowa dokumentacja metod
  • Przykładowy kod: Ograniczone przykłady podstawowych funkcji
  • Dokumentacja platformy: Podstawowe przewodniki dotyczące integracji platformy

Opcje wsparcia:

  • Wsparcie e-mail: Odpowiedź w standardowych godzinach pracy
  • Pomoc techniczna: Podstawowa pomoc w rozwiązywaniu problemów
  • Forum społeczności: społeczność wsparcia tworzona przez użytkowników

Chociaż obie biblioteki oferują dokumentację i wsparcie,IronPDF zapewnia znacznie bardziej kompletne zasoby, szybszy czas reakcji oraz bezpośrednie wsparcie inżynierów, które ma kluczowe znaczenie dla wdrożeń produkcyjnych.

Kwestie związane z wydajnością i optymalizacją

Wydajność wpływa na rentowność systemu produkcyjnego. Zrozumienie możliwości optymalizacyjnych każdej biblioteki pomaga architektom w projektowaniu wydajnych rozwiązań.

W jaki sposób IronPDF optymalizuje wydajność?

IronPDF oferuje szeroki zakres funkcji optymalizacji wydajności:

Zalety architektury:

  • Natywny silnik Chrome: zoptymalizowany silnik renderujący w języku C++
  • Zarządzanie pamięcią: wydajna obsługa dużych dokumentów
  • Bezpieczeństwo wątków: Stworzone z myślą o współbieżnych aplikacjach internetowych
  • Łączenie zasobów: instancje renderowania wielokrotnego użytku

Funkcje wydajnościowe:

Jakie są cechy charakterystyczne działania ComPDFKit?

ComPDFKit zapewnia standardową wydajność dla typowych operacji na PDF:

Profil wydajności:

  • Zużycie pamięci: Konsumpcja zasobów zależy od złożoności dokumentu
  • Współbieżność: Skonsultuj się z dokumentacjąComPDFKitw celu uzyskania wskazówek dotyczących asynchroniczności i wątków
  • Wieloplatformowość: Dostępne na Windows, Linux, macOS, Docker, Azure oraz AWS

Wzorce integracji Enterprise

Systemy produkcyjne wymagają określonych wzorców architektonicznych zapewniających niezawodność i skalowalność. Zrozumienie podejść do integracji pomaga zespołom wdrażać niezawodne rozwiązania.

Jak wdrożyćIronPDF w mikrousługach?

IronPDF obsługuje nowoczesne wzorce architektoniczne:

Usługa kontenerowego pliku PDF:

// Dockerfile for IronPDF microservice
FROM mcr.microsoft.com/dotnet/aspnet:6.0
RUN apt-get update && apt-get install -y \
    libgdiplus \
    libc6-dev \
    libx11-6
COPY . /app
WORKDIR /app
ENTRYPOINT ["dotnet", "PdfService.dll"]
// Dockerfile for IronPDF microservice
FROM mcr.microsoft.com/dotnet/aspnet:6.0
RUN apt-get update && apt-get install -y \
    libgdiplus \
    libc6-dev \
    libx11-6
COPY . /app
WORKDIR /app
ENTRYPOINT ["dotnet", "PdfService.dll"]
' Dockerfile for IronPDF microservice
FROM mcr.microsoft.com/dotnet/aspnet:6.0
RUN apt-get update && apt-get install -y _
    libgdiplus _
    libc6-dev _
    libx11-6
COPY . /app
WORKDIR /app
ENTRYPOINT ["dotnet", "PdfService.dll"]
$vbLabelText   $csharpLabel

Skalowalne wdrożenie API:

[ApiController]
[Route("api/[controller]")]
public class PdfController : ControllerBase
{
    private readonly ChromePdfRenderer _renderer;

    public PdfController()
    {
        _renderer = new ChromePdfRenderer();
        // Configure for production
        _renderer.RenderingOptions.EnableJavaScript = true;
        _renderer.RenderingOptions.RenderDelay = 500;
    }

    [HttpPost("generate")]
    public async Task<IActionResult> GeneratePdf([FromBody] PdfRequest request)
    {
        try
        {
            var pdf = await _renderer.RenderHtmlAsPdfAsync(request.Html);

            // Apply security if needed
            if (request.RequirePassword)
            {
                pdf.SecuritySettings.SetPassword(request.Password);
            }

            var stream = pdf.Stream;
            return File(stream, "application/pdf", request.FileName);
        }
        catch (Exception ex)
        {
            // Zakończ error handling
            return StatusCode(500, new { error = ex.Message });
        }
    }
}
[ApiController]
[Route("api/[controller]")]
public class PdfController : ControllerBase
{
    private readonly ChromePdfRenderer _renderer;

    public PdfController()
    {
        _renderer = new ChromePdfRenderer();
        // Configure for production
        _renderer.RenderingOptions.EnableJavaScript = true;
        _renderer.RenderingOptions.RenderDelay = 500;
    }

    [HttpPost("generate")]
    public async Task<IActionResult> GeneratePdf([FromBody] PdfRequest request)
    {
        try
        {
            var pdf = await _renderer.RenderHtmlAsPdfAsync(request.Html);

            // Apply security if needed
            if (request.RequirePassword)
            {
                pdf.SecuritySettings.SetPassword(request.Password);
            }

            var stream = pdf.Stream;
            return File(stream, "application/pdf", request.FileName);
        }
        catch (Exception ex)
        {
            // Zakończ error handling
            return StatusCode(500, new { error = ex.Message });
        }
    }
}
Imports Microsoft.AspNetCore.Mvc

<ApiController>
<Route("api/[controller]")>
Public Class PdfController
    Inherits ControllerBase

    Private ReadOnly _renderer As ChromePdfRenderer

    Public Sub New()
        _renderer = New ChromePdfRenderer()
        ' Configure for production
        _renderer.RenderingOptions.EnableJavaScript = True
        _renderer.RenderingOptions.RenderDelay = 500
    End Sub

    <HttpPost("generate")>
    Public Async Function GeneratePdf(<FromBody> request As PdfRequest) As Task(Of IActionResult)
        Try
            Dim pdf = Await _renderer.RenderHtmlAsPdfAsync(request.Html)

            ' Apply security if needed
            If request.RequirePassword Then
                pdf.SecuritySettings.SetPassword(request.Password)
            End If

            Dim stream = pdf.Stream
            Return File(stream, "application/pdf", request.FileName)
        Catch ex As Exception
            ' Zakończ error handling
            Return StatusCode(500, New With {.error = ex.Message})
        End Try
    End Function
End Class
$vbLabelText   $csharpLabel

Korzyści:

  • Skalowanie horyzontalne: dodawaj instancje w miarę potrzeb
  • Izolacja błędów: Awarie usług nie mają wpływu na system
  • Kontrola zasobów: limity kontenerów zapobiegają wyczerpaniu zasobów
  • Elastyczność wdrażania: Współpracuje z Kubernetes, Docker Swarm

A co z integracjąComPDFKitEnterprise?

ComPDFKit wspiera integrację z aplikacjami po stronie serwera i jest dostępny w środowiskach Windows, Linux, macOS, Docker, Azure oraz AWS. Deweloperzy powinni skonsultować dokumentację ComPDFKit dla wskazówek dotyczących wdrożeń wielonajemcowych, strategii skalowania i zarchiwizowanej architektury.

Funkcje bezpieczeństwa i zgodności

Aplikacje Enterprise wymagają niezawodnych funkcji bezpieczeństwa w celu zapewnienia zgodności z przepisami i ochrony danych.

Jak IronPDF radzi sobie z bezpieczeństwem?

IronPDF zapewnia kompletne funkcje bezpieczeństwa:

Opcje szyfrowania:

  • Szyfrowanie AES 256-bitowe: bezpieczeństwo na poziomie wojskowym
  • Hasła użytkowników/właścicieli: oddzielne poziomy dostępu
  • Kontrola uprawnień: szczegółowe ograniczenia działań
  • Podpisy cyfrowe: uwierzytelnianie oparte na certyfikatach
  • Obsługa HSM: integracja modułów bezpieczeństwa sprzętowego

Funkcje zgodności:

Przykład implementacji:

// Secure document generation
var pdf = renderer.RenderHtmlAsPdf(htmlContent);

// Apply complete security
pdf.SecuritySettings.SetPassword("user123");
pdf.SecuritySettings.SetOwnerPassword("owner456");
pdf.SecuritySettings.MakePdfDocumentReadOnly();
pdf.SecuritySettings.SetPdfSecuritySettings(
    canPrint: true,
    canCopy: false,
    canModify: false
);

// Add digital signature
var signature = new PdfSignature("cert.pfx", "password");
pdf.SignWithSignature(signature);

// Ensure compliance
pdf.SaveAsPdfA("secure-compliant.pdf", PdfAVersions.PdfA3);
// Secure document generation
var pdf = renderer.RenderHtmlAsPdf(htmlContent);

// Apply complete security
pdf.SecuritySettings.SetPassword("user123");
pdf.SecuritySettings.SetOwnerPassword("owner456");
pdf.SecuritySettings.MakePdfDocumentReadOnly();
pdf.SecuritySettings.SetPdfSecuritySettings(
    canPrint: true,
    canCopy: false,
    canModify: false
);

// Add digital signature
var signature = new PdfSignature("cert.pfx", "password");
pdf.SignWithSignature(signature);

// Ensure compliance
pdf.SaveAsPdfA("secure-compliant.pdf", PdfAVersions.PdfA3);
' Secure document generation
Dim pdf = renderer.RenderHtmlAsPdf(htmlContent)

' Apply complete security
pdf.SecuritySettings.SetPassword("user123")
pdf.SecuritySettings.SetOwnerPassword("owner456")
pdf.SecuritySettings.MakePdfDocumentReadOnly()
pdf.SecuritySettings.SetPdfSecuritySettings(
    canPrint:=True,
    canCopy:=False,
    canModify:=False
)

' Add digital signature
Dim signature As New PdfSignature("cert.pfx", "password")
pdf.SignWithSignature(signature)

' Ensure compliance
pdf.SaveAsPdfA("secure-compliant.pdf", PdfAVersions.PdfA3)
$vbLabelText   $csharpLabel

Jakie zabezpieczenia zapewnia ComPDFKit?

ComPDFKit oferuje podstawowe funkcje bezpieczeństwa:

  • Ochrona hasłem: Podstawowe hasła użytkownika/właściciela
  • Szyfrowanie: Standardowe szyfrowanie plików PDF
  • Uprawnienia: Ograniczone ustawienia uprawnień
  • Podpisy cyfrowe: podpisywanie oparte na certyfikatach

Dla zaawansowanych funkcji takich jak wsparcie dla HSM, sanitacja i kompleksowe narzędzia zgodności z dostępnością, skonsultuj dokumentacjęComPDFKitw celu weryfikacji obecnej dostępności.

Którą bibliotekę PDF wybrać?

Porównanie IronPDF iComPDFKitujawnia wyraźne różnice w różnych przypadkach użycia i wymaganiach.

Dlaczego IronPDF wyróżnia się w zastosowaniach Enterprise

IronPDF wyróżnia się jako najlepszy wybór dla systemów produkcyjnych wymagających:

Doskonałość techniczna:

  • Natywne renderowanie HTML: silnik Chromium zapewnia doskonałą konwersję
  • Wydajność: Asynchroniczność/wielowątkowość do przetwarzania dużych ilości danych
  • Niezawodność: architektura bezpieczna dla wątków w aplikacjach internetowych
  • Integracja: proste API skraca czas programowania

Wartość biznesowa:

  • Całkowity koszt posiadania: Przejrzyste ceny bez ukrytych opłat
  • Infrastruktura wsparcia: wsparcie inżynierów dostępne 24 godziny na dobę, 5 dni w tygodniu minimalizuje przestoje
  • Dokumentacja: ponad 500 przykładów przyspiesza proces tworzenia oprogramowania
  • Przyszłościowość: Regularne aktualizacje i nowe funkcje

IronPDF jest zaufany przez zespoły deweloperskie z firm Fortune 500 do obsługi dużych obciążeń generacji dokumentów wymagających niezawodnego renderowania Bootstrap, asynchronicznego przetwarzania i wsparcia dla przedsiębiorstw.

KiedyComPDFKitmoże wystarczyć

ComPDFKit może być odpowiedni dla:

  • Proste przeglądanie plików PDF: Podstawowe aplikacje desktopowe
  • Ograniczony zakres: Projekty bez konieczności konwersji HTML
  • Ograniczenia budżetowe: Gdy oparte na wycenach ceny mieszczą się w budżecie
  • Podstawowe operacje: proste wymagania dotyczące scałania/dzielenia

Ostateczna rekomendacja

Dla doświadczonych programistów .NET tworzących systemy produkcyjne, w których priorytetami są wydajność, niezawodność i wzorce architektoniczne, IronPDF zapewnia kompletne rozwiązanie. Połączenie możliwości technicznych, funkcji Enterprise i doskonałej infrastruktury wsparcia technicznego gwarantuje pomyślną realizację projektu.

Kluczowe czynniki decyzyjne:

Wymagania IronPDF ComPDFKit Zwycięzca
HTML do PDF Natywny Chromium Zewnętrzne API IronPDF
Wydajność Asynchroniczne/wielowątkowe Synchroniczne IronPDF
Obsługa CSS Pełny Bootstrap/Flexbox Ograniczone IronPDF
Dokumentacja Ponad 500 przykładów Podstawowe IronPDF
Wsparcie 24/5 Inżynieria Tylko e-mail IronPDF
Funkcje dla Enterprise Zakończ Ograniczone IronPDF
Całkowity koszt Transparent Zmienna IronPDF

IronPDF udostępnia bezpłatną licencję próbną do testowania biblioteki i jej możliwości. Licencje IronPDF zaczynają się od $999. Dodatkowo, Iron Software oferuje dziewięć bibliotek w cenie dwóch, w tym IronXL oraz IronOCR wraz z IronPDF.

Dla zespołów wymagających profesjonalnego generowania plików PDF z obsługą na poziomie Enterprise,IronPDF zapewnia kompletne rozwiązanie. Jego udokumentowane doświadczenie z firmami z listy Fortune 500, kompletny zestaw funkcji i zaangażowanie w sukces deweloperów czynią go lepszym wyborem dla poważnych aplikacji .NET.

Zwróć uwagęComPDFKit jest zastrzeżonym znakiem towarowym odpowiedniego właściciela. Ta strona nie jest powiązana z ComPDFKit, nie jest przez nią promowana ani sponsorowana. Wszystkie nazwy produktów, logo 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.

Często Zadawane Pytania

Jak mogę przekonwertować HTML na PDF w języku C#?

Możesz użyć metody RenderHtmlAsPdf biblioteki IronPDF do konwersji ciągów HTML na pliki PDF. Metoda ta nadaje się do konwersji HTML, CSS i JavaScript na wysokiej jakości dokumenty PDF.

Jakie są zalety korzystania z biblioteki PDF dla języka C#?

Biblioteki PDF dla języka C#, takie jak IronPDF i ComPDFKit, umożliwiają tworzenie i modyfikowanie plików PDF oraz wyodrębnianie tekstu i obrazów. Obsługują one takie funkcje, jak obsługa formularzy, podpisy cyfrowe i zabezpieczenia, zapewniając elastyczność na różnych platformach.

Czy mogę zabezpieczyć moje pliki PDF w języku C#?

Tak, korzystając z IronPDF, można zwiększyć bezpieczeństwo plików PDF poprzez ustawianie haseł, szyfrowanie dokumentów oraz dodawanie podpisów cyfrowych w celu ochrony poufnych informacji.

W jaki sposób ComPDFKit obsługuje edycję i konwersję plików PDF?

ComPDFKit oferuje rozbudowane możliwości edycji plików PDF oraz konwersję do różnych formatów, w tym PDF/A do długoterminowej archiwizacji cyfrowej, co czyni go wszechstronnym narzędziem do projektów wielopłatformowych.

Jakie opcje licencyjne są dostępne dla bibliotek C# do obsługi plików PDF?

IronPDF oferuje model licencji komercyjnych z licencjami wieczystymi, natomiast ComPDFKit zapewnia zarówno licencje wieczyste, jak i subskrypcyjne, co pozwala na elastyczność w zależności od potrzeb biznesowych.

Jakie wsparcie i zasoby są dostępne dla programistów korzystających z tych bibliotek?

IronPDF zapewnia obszerną dokumentację i responsywną obsługę klienta, dzięki czemu nadaje się do zastosowań na poziomie Enterprise. ComPDFKit oferuje również szczegółową dokumentację i wsparcie techniczne.

Jak wypada porównanie IronPDF i ComPDFKit pod względem konwersji HTML do PDF?

IronPDF wyróżnia się w konwersji HTML do PDF, obsługując ciągi HTML, adresy URL, formularze internetowe ASPX i widoki MVC, podczas gdy ComPDFKit oferuje szerszy zakres funkcji edycji i konwersji plików PDF.

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ę...

Czytaj więcej

Zespół wsparcia Iron

Jesteśmy online 24 godziny, 5 dni w tygodniu.
Czat
E-mail
Zadzwoń do mnie