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.ConvertHTMLmetPdfSaveOptionsVoor een robuuste HTML → PDF conversie. - Configureer
PageSetup.AnyPageTwee 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 - het
PdfSaveOptionsvoor A4-portret, A3-landschap en een aangepaste 6×9 inch trim grootte. - toepassen - het
MediaType.PrintofMediaType.ScreenJe kunt je CSS regels aanpassen. - Exporten Drie PDF’s in één
out/De folder.
Problemen oplossen & tips
- De verkeerde stijl:• Toggle
options.Css.MediaTypetussenPrintenScreenOm 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
- Aspose.HTML: Styling HTML for Image Rendering
- Convert HTML naar afbeelding met Aspose.HTML voor .NET: een stap voor stap gids
- Convert HTML naar hoogwaardige afbeeldingen met Aspose.HTML voor .NET
- Het optimaliseren van grote HTML-documenten: snelheid en onderhoudbaarheid
- Het vereenvoudigen van HTML naar Image Conversion met Aspose.HTML voor .NET