IRONSOFTWAREHOME
POMOC .NET

C# Typy Nullable (Jak to dziala dla programistow)

Curtis Chau
Curtis Chau
Updated: 23 kwietnia 2026

Możliwość konwersji plików HTML lub treści na strony PDF jest cenną funkcją w wielu aplikacjach. W języku C++ tworzenie od podstaw aplikacji do generowania plików w formacie HTML lub PDF może być dość żmudne. W tym artykułe omówimy, jak przekonwertować HTML na PDF w języku C++ przy użyciu biblioteki wkhtmltopdf.

biblioteka wkhtmltopdf

wkhtmltopdf to narzędzie typu open source działające z wiersza poleceń, które płynnie przekształca strony HTML zawierające zwykły tekst w wysokiej jakości dokumenty PDF. Wykorzystując jego funkcje w programach napisanych w języku C++, możemy łatwo konwertować treści w postaci ciągów znaków HTML do formatu PDF. Przyjrzyjmy się krok po kroku procesowi konwersji strony HTML do formatu PDF w języku C++ przy użyciu biblioteki wkhtmltopdf.

Wymagania wstępne

Aby stworzyć konwerter plików HTML na PDF w języku C++, upewnij się, że spełnione są następujące warunki wstępne:

  1. Kompilator C++, taki jak GCC lub Clang, zainstalowany w systemie.
  2. Zainstalowana biblioteka wkhtmltopdf. Najnowszą wersję można pobrać z oficjalnej strony internetowej wkhtmltopdf i zainstalować zgodnie z instrukcjami dla danego systemu operacyjnego.
  3. Podstawowa znajomość programowania w języku C++.

Utwórz projekt C++ HtmltoPdf w Code::Blocks

Aby utworzyć projekt konwersji plików PDF w języku C++ w Code::Blocks, wykonaj następujące czynności:

  1. Otwórz środowisko Code::Blocks IDE.
  2. Przejdź do menu "Plik", wybierz "Nowy", a następnie "Projekt", aby otworzyć kreatora nowego projektu.
  3. W kreatorze nowego projektu wybierz "Aplikacja konsolowa".
  4. Wybierz język C++.
  5. Ustal tytuł projektu i miejsce, w którym chcesz go zapisać. Kliknij "Dalej", aby kontynuować.
  6. Wybierz odpowiedni kompilator C++ i cel kompilacji, np. Debug lub Release. Kliknij "Zakończ", aby utworzyć projekt.

Konfiguracja Katalogów Wyszukiwania

Aby upewnić się, że Code::Blocks może znaleźć niezbędne pliki nagłówkowe, musimy skonfigurować katalogi wyszukiwania:

  1. Kliknij menu "Projekt" na pasku menu i wybierz "Opcje kompilacji". Pamiętaj, aby wybrać opcję "Debug".
  2. W oknie dialogowym "Opcje kompilacji" wybierz kartę "Katalogi wyszukiwania".
  3. W zakładce "Kompilator" kliknij przycisk "Dodaj".
  4. Przejdź do katalogu, w którym znajdują się pliki nagłówkowe wkhtmltox (np. C:\Program Files\wkhtmltopdf\include>), i wybierz go.
  5. Na koniec kliknij "OK", aby zamknąć okno dialogowe.

Jak przekonwertować HTML na PDF w C++: Rysunek 1 - Katalogi wyszukiwania

Linkowanie bibliotek

Aby połączyć z biblioteką wkhtmltox, wykonaj te kroki:

  1. Ponownie kliknij menu "Projekt" na pasku menu i wybierz opcje budowania. Pamiętaj, aby wybrać opcję "Debug".
  2. W oknie dialogowym "Opcje kompilacji" wybierz zakładkę "Ustawienia linkera".
  3. W zakładce "Połącz biblioteki" kliknij przycisk "Dodaj".
  4. Przeglądaj katalog, w którym znajdują się pliki biblioteki wkhtmltox (np. C:\Program Files\wkhtmltopdf\lib), i wybierz odpowiedni plik biblioteki.
  5. Kliknij "Otwórz", aby dodać bibliotekę do swojego projektu.
  6. Na koniec kliknij "OK", aby zamknąć okno dialogowe.

Jak przekonwertować HTML na PDF w C++: Rysunek 2 - Łączenie bibliotek

Kroki do łatwego przekształcania HTML w PDF w C++

Krok 1: Dołączenie biblioteki do konwersji plików HTML

Aby rozpocząć, dołącz niezbędne pliki nagłówkowe, aby wykorzystać funkcjonalności biblioteki wkhtmltopdf w swoim programie C++. Dołącz następujące pliki nagłówkowe na początku pliku kodu źródłowego main.cpp, jak pokazano w poniższym przykładzie:

#include <iostream>
#include <fstream>
#include <string>
#include <wkhtmltox/pdf.h>
Text

Krok 2: Inicjalizacja konwertera

Aby przekształcić HTML na PDF, musimy zainicjować konwerter wkhtmltopdf. Kod wygląda następująco:

// Initialize the wkhtmltopdf library
wkhtmltopdf_init(false);

// Create global settings object
wkhtmltopdf_global_settings* gs = wkhtmltopdf_create_global_settings();

// Create object settings object
wkhtmltopdf_object_settings* os = wkhtmltopdf_create_object_settings();

// Create the PDF converter with global settings
wkhtmltopdf_converter* converter = wkhtmltopdf_create_converter(gs);
Text

Krok 3: Ustawianie treści HTML

Teraz podajmy treść HTML, którą należy przekształcić na PDF. Możesz załadować plik HTML lub podać ciąg bezpośrednio.

std::string htmlString = "<html><body><h1>Hello, World!</h1></body></html>";

// Add the HTML content to the converter
wkhtmltopdf_add_object(converter, os, htmlString.c_str());
Text

Krok 4: Konwersja HTML do PDF

Po przygotowaniu konwertera i treści HTML możemy przystąpić do przekształcenia HTML na plik PDF. Użyj następującego fragmentu kodu:

// Perform the actual conversion
if (!wkhtmltopdf_convert(converter)) {
    std::cerr << "Conversion failed!" << std::endl;
}
Text

Krok 5: Uzyskanie wyniku w formie bufora pamięci

Za pomocą funkcji wkhtmltopdf_get_output możemy uzyskać istniejące dane PDF jako strumień bufora pamięci. Zwraca również długość PDFa. Oto przykładowe zadanie:

// Retrieve the PDF data in memory buffer
const unsigned char* pdfData;
int pdfLength = wkhtmltopdf_get_output(converter, &pdfData);
Text

Krok 6: Zapisanie pliku PDF

Gdy konwersja zostanie zakończona, musimy zapisać wygenerowany plik PDF na dysku. Określ ścieżkę pliku, gdzie chcesz zapisać PDF. Następnie, używając strumienia plików wyjściowych, otwórz plik w trybie binarnym i zapisz do niego pdfData. Na koniec zamknij plik:

const char* outputPath = "file.pdf";
std::ofstream outputFile(outputPath, std::ios::binary);

// Write the PDF data to the file
outputFile.write(reinterpret_cast<const char*>(pdfData), pdfLength);
outputFile.close();
Text

Krok 7: Czyszczenie

Po przekształceniu HTML na PDF, istotne jest, aby oczyścić zasoby przydzielone przez wkhtmltopdf:

// Clean up the converter and settings
wkhtmltopdf_destroy_converter(converter);
wkhtmltopdf_destroy_object_settings(os);
wkhtmltopdf_destroy_global_settings(gs);

// Deinitialize the wkhtmltopdf library
wkhtmltopdf_deinit();

std::cout << "PDF saved successfully." << std::endl;
Text

Krok 8: Wykonaj kod i wygeneruj plik PDF

Teraz, skompiluj projekt i wykonaj kod używając F9. Wynik jest generowany i zapisany w folderze projektu. Wynikowy PDF wygląda następująco:

Jak przekonwertować HTML na PDF w C++: Rysunek 3 - Wyjście PDF

HTML File to PDF File in C#

IronPDF

Biblioteka Konwersji HTML do PDF IronPDF to solidna biblioteka .NET i .NET Core w C#, która pozwala deweloperom na łatwe generowanie dokumentów PDF z treści HTML. Oferuje prosty i intuicyjny API, które upraszcza proces konwersji stron internetowych HTML na PDF, co czyni go popularnym wyborem dla różnych zastosowań i przypadków użycia.

Jedną z kluczowych zalet IronPDF jest jego wszechstronność. Obsługuje nie tylko konwersję prostych dokumentów HTML, ale także złożonych stron internetowych z stylami CSS, interakcjami JavaScript i nawet dynamiczną zawartością. Ponadto można opracować różne konwertery PDF z szybkim dostępem do metod konwersji.

Oto przykład kodu, który pokazuje, jak przekształcić Ciąg HTML na PDF przy użyciu IronPDF w C#:

using IronPdf;

// Instantiate Renderer
var renderer = new ChromePdfRenderer();

// Create PDF content from an HTML string using C#
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");

// Export to a file or Stream
pdf.SaveAs("output.pdf");

Wynik PDF:

Jak przekonwertować HTML na PDF w C++: Rysunek 4 - Wyjście IronPDF

Aby uzyskać więcej szczegółów na temat tego, jak konwertować różne pliki HTML, adresy URL stron internetowych i obrazy do PDF, odwiedź tę stronę Przykłady kodów HTML na PDF.

Z IronPDF, generowanie plików PDF z zawartości HTML staje się prostym zadaniem w językach .NET Framework. Jego intuicyjny API i rozbudowany zestaw funkcji czynią go wartościowym narzędziem dla deweloperów potrzebujących konwertować HTML na PDF w swoich projektach C#. Niezależnie od tego, czy to generowanie raportów, faktur, czy innego dokumentu wymagającego dokładnej konwersji HTML na PDF, IronPDF jest niezawodnym i efektywnym rozwiązaniem.

IronPDF jest darmowy do celów deweloperskich, ale do użytku komercyjnego wymaga licencji. Oferuje on także Bezpłatna wersja próbna pełnej funkcjonalności IronPDF do użytku komercyjnego, aby przetestować jego pełną funkcjonalność. Możesz pobrać oprogramowanie z Pobierz IronPDF.

Curtis Chau
Autor tekstów technicznych

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

...
Czytaj więcej

Powiązane artykuły

Key in blue circle

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

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

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

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

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