Przejdź do treści stopki
KORZYSTANIE Z IRONPDF

html2pdf Złamany punkt strony naprawiony w C# (Poradnik dla deweloperów)

W dzisiejszych przedsiębiorstwach dokumenty cyfrowe są typowym miejscem wymiany informacji i prezentacji wizualnej. Czasami jednak na jednej stronie może być tak dużo informacji, że trudno jest zrozumieć, które treści odnoszą się do tematu. W związku z tym powszechną taktyką jest odpowiednie rozmieszczenie podziałów stron, aby umożliwić prezenterowi jasne przekazanie informacji, a czytelnikom – dostrzeżenie wyraźnie wyodrębnionych sekcji w dokumencie.

Chociaż podziały stron są powszechne w dokumentach, ręczne dostosowywanie ich jest uciążliwe i nie ma charakteru skalowalnego. W firmach, w których powstają tysiące dokumentów, znacznie wydajniejsze i bardziej idealne jest automatyczne dodawanie podziałów stron. Dzięki temu programiści mogą dostosować i zastosować format do wybranych dokumentów.

W tym artykule omówimy dodawanie podziałów stron przy użyciu biblioteki PDF dla języka C# o nazwie IronPDF. Intuicyjność IronPDF pozwala programistom na szybkie ustawianie podziałów stron w wielu rodzajach treści. Omówimy również korzystanie z biblioteki oraz jej możliwości dostosowywania i elastyczność w tworzeniu atrakcyjnych wizualnie dokumentów z podziałami stron.

IronPDF: biblioteka PDF dla języka C

html2pdf Page Break Fixed in C# (Developer Tutorial): Rysunek 1

IronPDF to elastyczna, łatwa w użyciu i wysoce konfigurowalna biblioteka C# do obsługi plików PDF, która pozwala programistom, zarówno początkującym, jak i doświadczonym, w pełni manipulować i edytować pliki PDF. Oferuje programistom wiele sposobów konwersji różnych formatów, takich jak HTML, RTF i obrazy, do plików PDF oraz dalszej edycji sposobu renderowania podczas konwersji do formatu PDF. Ponadto IronPDF wykorzystuje silnik renderujący Chrome, dzięki czemu doskonale radzi sobie z renderowaniem ciągów HTML i pozwala programistom na dalsze dostosowywanie dokumentów HTML za pomocą stylów CSS, zapewniając im przewagę w zakresie personalizacji i prezentacji wizualnej, której nie znajdziesz nigdzie indziej.

Ponieważ biblioteka wykorzystuje silnik renderujący Chrome, podczas renderowania HTML otrzymujesz dokładnie to, co widzisz, co sprawia, że idealnie nadaje się ona do takich operacji, jak tworzenie szablonów podziałów stron, dzięki czemu nie ma żadnych rozbieżności w stosunku do szablonów. Dokładnie tak zaprojektowałeś szablony podczas konwersji ich do formatu PDF.

Dodawanie podziału strony w pliku PDF

Aby zilustrować elastyczność i łatwość użytkowania biblioteki, posłużymy się przykładem kodu pokazującym, jak programowo dodać podziały stron.

W tym scenariuszu jako dane wejściowe wykorzystamy plik PDF w formie tabeli i dla większej przejrzystości zobaczymy różnicę między dodaniem podziału strony natychmiast a dodaniem go później.

Klucz licencyjny

Zanim zaczniemy, pamiętaj, że do działania IronPDF potrzebny jest klucz licencyjny. Klucz można uzyskać w ramach bezpłatnej wersji próbnej, odwiedzając ten link.

// Replace the license key variable with the trial key you obtained
IronPdf.License.LicenseKey = "REPLACE-WITH-YOUR-KEY";
// Replace the license key variable with the trial key you obtained
IronPdf.License.LicenseKey = "REPLACE-WITH-YOUR-KEY";
' Replace the license key variable with the trial key you obtained
IronPdf.License.LicenseKey = "REPLACE-WITH-YOUR-KEY"
$vbLabelText   $csharpLabel

Po otrzymaniu klucza próbnego ustaw tę zmienną w swoim projekcie i gotowe.

Plik wejściowy PDF

Jako podstawę dla naszych przykładów wykorzystamy poniższy plik PDF. Jest to prosta tabela z danymi pogrupowanymi w osobne informacje, co utrudnia rozróżnienie, gdzie kończy się treść.

html2pdf Page Break Fixed in C# (Developer Tutorial): Rysunek 2

Przykładowe użycie kodu

using IronPdf; // Import the IronPdf library

// Define the HTML content, including a table and an image
const string html = @"
  <table style='border: 1px solid #000000'>
    <tr>
      <th>Company</th>
      <th>Product</th>
    </tr>
    <tr>
      <td>Iron Software</td>
      <td>IronPDF</td>
    </tr>
    <tr>
      <td>Iron Software</td>
      <td>IronOCR</td>
    </tr>
  </table>
  <div style='page-break-after: always;'> </div> 
  <img src='https://ironpdf.com/img/products/ironpdf-logo-text-dotnet.svg'>";

// Create an instance of ChromePdfRenderer
var renderer = new ChromePdfRenderer();

// Render the HTML content into a PDF
var pdf = renderer.RenderHtmlAsPdf(html);

// Save the PDF as "Page_Break.pdf"
pdf.SaveAs("Page_Break.pdf");
using IronPdf; // Import the IronPdf library

// Define the HTML content, including a table and an image
const string html = @"
  <table style='border: 1px solid #000000'>
    <tr>
      <th>Company</th>
      <th>Product</th>
    </tr>
    <tr>
      <td>Iron Software</td>
      <td>IronPDF</td>
    </tr>
    <tr>
      <td>Iron Software</td>
      <td>IronOCR</td>
    </tr>
  </table>
  <div style='page-break-after: always;'> </div> 
  <img src='https://ironpdf.com/img/products/ironpdf-logo-text-dotnet.svg'>";

// Create an instance of ChromePdfRenderer
var renderer = new ChromePdfRenderer();

// Render the HTML content into a PDF
var pdf = renderer.RenderHtmlAsPdf(html);

// Save the PDF as "Page_Break.pdf"
pdf.SaveAs("Page_Break.pdf");
Imports IronPdf ' Import the IronPdf library

' Define the HTML content, including a table and an image
Const html As String = "
  <table style='border: 1px solid #000000'>
    <tr>
      <th>Company</th>
      <th>Product</th>
    </tr>
    <tr>
      <td>Iron Software</td>
      <td>IronPDF</td>
    </tr>
    <tr>
      <td>Iron Software</td>
      <td>IronOCR</td>
    </tr>
  </table>
  <div style='page-break-after: always;'> </div> 
  <img src='https://ironpdf.com/img/products/ironpdf-logo-text-dotnet.svg'>"

' Create an instance of ChromePdfRenderer
Dim renderer As New ChromePdfRenderer()

' Render the HTML content into a PDF
Dim pdf = renderer.RenderHtmlAsPdf(html)

' Save the PDF as "Page_Break.pdf"
pdf.SaveAs("Page_Break.pdf")
$vbLabelText   $csharpLabel
  1. Najpierw importujemy moduł IronPdf.
  2. Powyższy ciąg znaków HTML przedstawia treść, która ma zostać przekonwertowana do formatu PDF. Znacznik <div style='page-break-after: always;'> </div> został dodany, aby zapewnić podział strony po tabeli.
  3. Następnie instancjonujemy renderer PDF.
  4. Przekazujemy ciąg HTML do metody RenderHtmlAsPdf.
  5. Na koniec zapisz dokument jako Page_Break.pdf.

Bardziej powszechną metodą jest wykorzystanie CSS do podziału stron zamiast stylizacji wbudowanej w HTML.

Wynik w formacie PDF

html2pdf Naprawianie podziałów stron w języku C# (samouczek dla programistów): Rysunek 3

Jak widać, w wyniku tłumaczenia zaraz po tabeli pojawia się znak końca strony.

Kontrolowanie podziałów stron za pomocą CSS

Ponieważ IronPDF można dostosować za pomocą CSS, ponieważ wykorzystuje silnik renderujący Chrome, możemy to wykorzystać i użyć CSS do dodania podziałów stron do określonych elementów oraz podziałów stron wewnątrz nich, a także określić, który element nie powinien mieć podziału strony w swoim wnętrzu.

Na przykład, chociaż na powyższym obrazku podział strony następuje po tabeli, mogą zdarzyć się sytuacje, w których nastąpi on w obrębie tabeli z powodu zagęszczenia treści.

Aby tego uniknąć, możemy zastosować specjalny styl CSS dla elementu node i określić, że nie chcemy dodawać w nim podziału strony.

<div style='page-break-inside: avoid'>
 <img src='no-break-me.png'>
</div>
<div style='page-break-inside: avoid'>
 <img src='no-break-me.png'>
</div>
HTML

Dodanie page-break-inside: avoid zapobiega podziałom stron wewnątrz elementu. Jednak podczas wykonywania tej operacji upewnij się, że jest ona zastosowana do nadrzędnego węzła div elementu.

Podobną operację można również zastosować w przypadku elementów, do których chcesz dodać styl "page-break-before".

<div style="page-break-inside: avoid;">
    <img src="no-break-me.png">
</div>
<div style="page-break-inside: avoid;">
    <img src="no-break-me.png">
</div>
HTML

Ponieważ możemy korzystać z HTML, możemy jeszcze bardziej sprecyzować elementy węzłów, przeglądając drzewo węzłów HTML za pomocą JavaScript document.getElementById w celu wybrania elementu na podstawie jego identyfikatora i zapewnienia, że każdy węzeł jest w pełni konfigurowalny.

Optymalizacja jakości obrazu i rozmiaru pliku

Ustawienie podziału stron jest również ściśle związane z jakością obrazu. Należy upewnić się, że ustawienie podziału strony nie wpływa na jakość obrazu poprzez jego zmniejszenie lub skalowanie na następnej stronie.

W związku z tym możemy użyć CSS, aby zapewnić spójną jakość obrazów we wszystkich szablonach podczas stosowania podziałów stron.

<div class="no-break">
    <img src="optimized-image.jpg" alt="Optimized Image" style="width:100%; height:auto;">
</div>
<div class="no-break">
    <img src="optimized-image.jpg" alt="Optimized Image" style="width:100%; height:auto;">
</div>
HTML

Powyższy styl CSS zapewnia spójność obrazu po operacjach podziału strony. Najpierw ustawiamy szerokość na 100% strony, a wysokość może być automatycznie skalowana w celu zachowania proporcji.

Ponadto IronPDF oferuje dodatkowe opcje renderowania podczas obsługi HTML, które są podobne do ustawień drukowania użytkownika dla monitów dotyczących plików PDF do pobrania i wydruku. Pełna lista atrybutów znajduje się w dokumentacji API.

Odpowiednik wykorzystujący JavaScript

Ponieważ IronPDF ma tę zaletę, że korzysta z silnika renderującego Chrome, jest również dostępny w wersji Node.js, co pozwala programistom z różnych środowisk na korzystanie z tej potężnej biblioteki.

W przypadku wariantu Node.js programiści mają jeszcze większą kontrolę nad dodawaniem podziałów stron, ponieważ mają dostęp do metod opartych na obietnicach, takich jak metoda onRejected do debugowania lub śledzenia postępów, a także jej funkcji pośrednich.

W porównaniu z popularną biblioteką, taką jak html2pdf z metodą wyjściową obiektu jsPDF, IronPDF jest bardziej elastyczny i obsługuje wiele języków, umożliwiając programistom o różnej znajomości języków pracę nad tym samym projektem.

Wnioski

html2pdf Naprawianie podziałów stron w języku C# (samouczek dla programistów): Rysunek 4

Zrozumienie, jak używać podziałów stron i jak CSS wpływa na ogólny kod HTML, ma kluczowe znaczenie dla tworzenia dokumentów, które są reprezentacyjne i atrakcyjne wizualnie dla użytkowników. Pozwala to czytelnikom na selekcjonowanie informacji, które czytają, aby uniknąć nadmiaru informacji i niejasności. W całym tym artykule mówiliśmy o wykorzystaniu potężnego silnika renderującego Chrome, którego IronPDF używa do automatycznego tworzenia szablonów podziałów stron dla szablonów i automatyzacji, usprawniając wydajność i skalowalność podczas tworzenia tych dokumentów, a także zmniejszając ryzyko błędu ludzkiego.

Dla programistów, którzy chcieliby wypróbować IronPDF, biblioteka oferuje bezpłatną wersję próbną dla $799 i wyższych.

Często Zadawane Pytania

Jak dodać podziały stron do pliku PDF w języku C#?

W pliku PDF można dodawać podziały stron za pomocą CSS przy użyciu IronPDF. Aby kontrolować miejsca podziałów stron podczas konwersji HTML do PDF, należy używać stylów takich jak page-break-after: always;.

Jaką rolę odgrywa CSS w generowaniu plików PDF za pomocą języka C#?

CSS ma kluczowe znaczenie dla kontrolowania układu i wyglądu podczas generowania plików PDF z HTML przy użyciu IronPDF. Pozwala programistom zarządzać podziałami stron i zapewnić spójne formatowanie w całym dokumencie.

W jaki sposób silnik renderujący Chrome ułatwia konwersję HTML do PDF?

IronPDF wykorzystuje silnik renderujący Chrome, aby zapewnić, że wynikowy plik PDF jest ściśle zgodny z wejściowym kodem HTML. Ta spójność jest niezbędna do zachowania zamierzonego projektu i układu podczas procesu konwersji.

Jakie wyzwania wiążą się z ręcznym wstawianiem podziałów stron w plikach PDF?

Ręczne wstawianie podziałów stron może być nieefektywne i podatne na błędy, zwłaszcza w przypadku dużych dokumentów. IronPDF automatyzuje ten proces, pozwalając programistom skupić się na treści, a nie na kwestiach formatowania.

Jak zapewnić wysoką jakość obrazów w plikach PDF z podziałami stron?

Aby zachować jakość obrazów w plikach PDF, należy użyć CSS do prawidłowego ustawienia wymiarów obrazów. Dzięki IronPDF można zastosować style takie jak width: 100%; oraz height: auto;, aby zapewnić prawidłowe skalowanie obrazów.

Czy można wykorzystać JavaScript do dostosowania kodu HTML przed konwersją do formatu PDF?

Tak, IronPDF obsługuje JavaScript, umożliwiając programistom dynamiczną manipulację treścią HTML przed konwersją do formatu PDF. Zwiększa to możliwości dostosowywania i prezentacji.

Jakie są zalety automatyzacji podziałów stron podczas tworzenia dokumentów?

Automatyzacja podziałów stron za pomocą IronPDF zwiększa wydajność i ogranicza liczbę błędów, umożliwiając spójną i profesjonalną prezentację dokumentów w środowiskach Enterprise.

Jak zacząć korzystać z biblioteki C# do obróbki plików PDF?

Aby rozpocząć korzystanie z IronPDF, należy uzyskać klucz licencyjny dostępny w ramach bezpłatnej wersji próbnej na stronie internetowej. Zintegruj bibliotekę ze swoim projektem C#, aby rozpocząć pracę z dokumentami PDF.

Dlaczego opanowanie technik podziału stron jest ważne w prezentacji dokumentów?

Opanowanie technik podziału stron gwarantuje, że dokumenty będą miały przejrzystą strukturę i będą łatwe do czytania, co pomoże uniknąć nadmiaru informacji i poprawi ogólną jakość prezentacji.

Obsługa wersji .NET: Które wersje .NET obsługuje IronPDF w zakresie konwersji HTML do PDF i funkcji podziału stron?

IronPDF obsługuje konwersję HTML do PDF oraz funkcje podziału stron CSS we wszystkich nowoczesnych wersjach .NET, w tym .NET 10, .NET 9, .NET 8, .NET 7, .NET 6, .NET Core i .NET Framework. Wykorzystuje ten sam interfejs API silnika renderującego we wszystkich tych wersjach, aby zapewnić spójne działanie.

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

Zespol wsparcia Iron

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