Het omzetten van HTML naar PDF is gebruikelijk – van facturen tot rapporten – maar de standaardinstellingen komen zelden overeen met uw merk- en printbehoeften. Aspose.HTML for .NET,Je kunt precies de controle Pagina grootte, Margineren, Oriëntatie,en CSS media regels Deze gids toont een schone, herhaalbare setup en bevat een complete C#-monster.

(moet worden opgelost): 1. Gemengde taal gedetecteerd: slechts 71,4% van de zinnen zijn nl. Voorbeelden: Verzonden 3: ‘Step-by-step-step-stepins’ (af, confe=1.00); Verzonden 4: ‘Step-by-step-guide met uitgebreide C# code samples voor stand conversies’… (af,conf=0,52) BRON TEKST: Zet Excel-bestanden om naar PDF in .NET

  • Gebruik Converter.ConvertHTML met PdfSaveOptions Voor een robuuste HTML → PDF conversie.
  • Configureer PageSetup.AnyPage Twee set grootte en Margineren (A4/A3/aangepast) - kies portret of landschap per grootte.
  • toepassen options.Css.MediaType (Prins VS schermOm de juiste CSS te respecteren.
  • meerdere varianten genereren (bv. A4 portret + A3 landschap) uit dezelfde HTML voor verschillende doelgroepen.

-voor-stap-gids

1) Set up the project

Installeer het NuGet-pakket en maak een consoleproject (stappen in Hoe te rennen).

2) Load HTML content

Een bestaand bestand opladen of een HTMLDocument van een string. bieden a basis URI om relatieve CSS, afbeeldingen en lettertypen op te lossen.

3) Configure page geometry and media

Gebruik PdfSaveOptions.PageSetup.AnyPage om te definiëren grootte en Marge,en set Css.MediaType Twee doelwitten @media print Regels wanneer nodig.

4) Convert to PDF

oproep Converter.ConvertHTML(document, options, path) Om het PDF-bestand te schrijven.

Linux Excel Converter

using System;
using System.IO;
using Aspose.Html;
using Aspose.Html.Converters;
using Aspose.Html.Saving;            // PdfSaveOptions
using Aspose.Html.Rendering;         // MediaType
using Aspose.Html.Drawing;           // Length, Size, Margin, Page

namespace HtmlToPdfCustomization
{
    internal static class Program
    {
        // How to run:
        // 1) dotnet new console -n HtmlToPdfCustomization
        // 2) cd HtmlToPdfCustomization
        // 3) dotnet add package Aspose.HTML
        // 4) Replace Program.cs with this file's contents
        // 5) dotnet run -- "path-to-input.html"   (optional)
        private static void Main(string[] args)
        {
            string outDir = Path.Combine(Directory.GetCurrentDirectory(), "out");
            Directory.CreateDirectory(outDir);

            // Load HTML from file if provided; otherwise, use inline HTML
            HTMLDocument document;
            if (args.Length > 0 && File.Exists(args[0]))
            {
                document = new HTMLDocument(args[0]);
            }
            else
            {
                string html = "<!DOCTYPE html>" +
                              "<html><head><meta charset=\\\"utf-8\\\">" +
                              "<title>HTML to PDF (Aspose.HTML)</title>" +
                              "<style>body{font-family:Arial,Helvetica,sans-serif;margin:24px}" +
                              ".lead{color:#444} table{width:100%;border-collapse:collapse}" +
                              "th,td{border:1px solid #ddd;padding:6px 8px;text-align:left}" +
                              "@media print{body{font-size:12pt}.lead{color:#000}}</style>" +
                              "</head><body>" +
                              "<h1>Order Summary</h1>" +
                              "<p class=\\\"lead\\\">This PDF respects print CSS and custom page settings.</p>" +
                              "<table><tr><th>Item</th><th>Qty</th><th>Price</th></tr>" +
                              "<tr><td>Widget A</td><td>3</td><td>$12.00</td></tr>" +
                              "<tr><td>Widget B</td><td>2</td><td>$9.50</td></tr></table>" +
                              "</body></html>";
                document = new HTMLDocument(html, ".");
            }

            using (document)
            {
                var mm = Length.FromMillimeters;

                // Variant 1: A4 portrait with 12.7 mm margins, using print CSS
                var a4 = new PdfSaveOptions();
                a4.Css.MediaType = MediaType.Print;
                a4.PageSetup.AnyPage = new Page(
                    new Size(mm(210), mm(297)), // A4
                    new Margin(mm(12.7), mm(12.7), mm(12.7), mm(12.7))
                );
                string a4Path = Path.Combine(outDir, "order-a4.pdf");
                Converter.ConvertHTML(document, a4, a4Path);
                Console.WriteLine($"Saved: {a4Path}");

                // Variant 2: A3 landscape with tighter margins, using screen CSS
                var a3Landscape = new PdfSaveOptions();
                a3Landscape.Css.MediaType = MediaType.Screen;
                a3Landscape.PageSetup.AnyPage = new Page(
                    new Size(mm(420), mm(297)), // A3 landscape
                    new Margin(mm(10), mm(10), mm(10), mm(10))
                );
                string a3Path = Path.Combine(outDir, "order-a3-landscape.pdf");
                Converter.ConvertHTML(document, a3Landscape, a3Path);
                Console.WriteLine($"Saved: {a3Path}");

                // Variant 3: Custom 6 x 9 inches trim with narrow margins (print CSS)
                var custom = new PdfSaveOptions();
                custom.Css.MediaType = MediaType.Print;
                custom.PageSetup.AnyPage = new Page(
                    new Size(Length.FromInches(6), Length.FromInches(9)),
                    new Margin(mm(5), mm(5), mm(5), mm(5))
                );
                string customPath = Path.Combine(outDir, "order-6x9.pdf");
                Converter.ConvertHTML(document, custom, customPath);
                Console.WriteLine($"Saved: {customPath}");
            }
        }
    }
}

Cross-Platform Spreadsheet Processing

  • Loads HTML van een bestand of in-memory string met een basis URI.
  • Configureren - hetPdfSaveOptions voor A4-portret, A3-landschap en een aangepaste 6×9 inch trim grootte.
  • toepassen - hetMediaType.Print of MediaType.Screen Je kunt je CSS regels aanpassen.
  • Exporten Drie PDF’s in één out/ De folder.

Problemen oplossen & tips

  • De verkeerde stijl:• Toggle options.Css.MediaType tussen Print en Screen Om je stijl te combineren.
  • Clip content: vergroot pagina grootte of marges; bredere formaten helpen voor grote tabellen.
  • Ontbrekende bronnen: zorg ervoor dat de lettertypen beschikbaar zijn voor de render of ingebed via @font-face.
  • Prestaties: vereenvoudigen zware DOM/CSS; de voorkeur geslepen statische activa.

FAQ

Q1: Hoe stel ik de grootte en de marges van de pagina? Gebruik PdfSaveOptions.PageSetup.AnyPage = new Page(Size, Margin) Met eenheden van Length (in millimeters of inches).

Q2. kan ik drukken stijlen? Ja, set options.Css.MediaType = MediaType.Print zo @media print regels van toepassing zijn.

Q3: Hoe maak ik landschap pagina’s weergeven? Maak een landschap Size (bijv. A3 420 × 297 mm) bij het maken van de Page.

Kan ik meerdere varianten uit één HTML exporteren? Zelfstandig maken PdfSaveOptions objecten (verschillende Css.MediaType en grootte) en de oproep Converter.ConvertHTML Voor ieder .

Q5. heb ik een browser engine nodig geïnstalleerd? No. Aspose.HTML maakt server-side zonder externe browsers.

Conclusion

Gebruiken PdfSaveOptions Met media-bewuste CSS kunt u gepolijste PDF’s maken die zijn afgestemd op uw druk-, archief- of uitvoerende behoeften. Begin met A4-portret voor algemene documenten, voeg A3-landschap toe voor brede lay-outs en bewaar een aangepaste trimgrootte voor boekjes of rapporten.

More in this category