ההפצה של HTML ל- PDF נפוצה, אך הגדרות המוצג כברירת מחדל אינן תמיד אידיאליות עבור הדפסה, ארכיון או סיכום מנהלים. Aspose.HTML for .NET, אתה יכול לשלוט במדויק בגודל הדף, גבולות, כיוון, ו CSS כללי מדיה לייצר עקבי, PDFs מקצועי מדריך זה מציג הגדרת נקיה ודוגמה של C # מלאה אתה יכול להוריד בפרויקט שלך.

NAME OF TRANSLATORS

  • שימוש Converter.ConvertHTML עם PdfSaveOptions עבור HTML → PDF rendering אמין.
  • Configure PageSetup.AnyPage 2 סט גודל דף ו מרינג (A4, A3 או בגדלים מותאמים אישית).
  • Switch Css.MediaType בין מסך ו הנסיך כדי לכבד את הכללים הנכונים של CSS.
  • : A4 for print, A3 example for arounds, and specified criptures for prisons.

מדריך צעד אחר צעד

1) Load an HTML document

להעלות קובץ כאשר זמין, או ליצור HTMLDocument מתוך שורת עם URI בסיס כדי לפתור נכסים יחסיים.

2) Configure page geometry and CSS media

הגדרת גודל דף ומגבלות באמצעות PageSetup.AnyPage.בחר MediaType.Print להנפיק @media print סגנון או MediaType.Screen להגדיר את מסך הסגנונות.

3) Render to PDF

התקשר Converter.ConvertHTML(document, options, outputPath) להפיק את PDF שלך.

. דוגמה מלאה (C# Compilable)

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 AsposeHtmlAdvancedPdfDemo
{
    internal static class Program
    {
        // How to run:
        // 1) dotnet new console -n AsposeHtmlAdvancedPdfDemo
        // 2) cd AsposeHtmlAdvancedPdfDemo
        // 3) dotnet add package Aspose.HTML
        // 4) Replace Program.cs with this file's contents
        // 5) dotnet run -- "path-to-input.html"   (argument optional)
        private static void Main(string[] args)
        {
            // Ensure output folder exists
            string outDir = Path.Combine(Directory.GetCurrentDirectory(), "out");
            Directory.CreateDirectory(outDir);

            // Prepare an HTMLDocument: from file path (if provided) or from 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>Advanced PDF Output</title>" +
                              "<style>body{font-family:Arial,Helvetica,sans-serif;margin:24px}" +
                              "h1{margin:0 0 12px} .lead{color:#444} .wide{width:100%;border-collapse:collapse}" +
                              ".wide th,.wide td{border:1px solid #ddd;padding:6px 8px;text-align:left}" +
                              "@media print { body{font-size:12pt} .lead{color:#000} }</style>" +
                              "</head><body>" +
                              "<h1>Aspose.HTML PDF Output</h1>" +
                              "<p class=\\\"lead\\\">This PDF is rendered with custom page size, margins, and media rules.</p>" +
                              "<table class=\\\"wide\\\"><tr><th>Item</th><th>Qty</th><th>Price</th></tr>" +
                              "<tr><td>Widget A</td><td>4</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)
            {
                // A4 portrait with 12.7 mm margins, using print CSS
                var a4 = new PdfSaveOptions();
                a4.Css.MediaType = MediaType.Print;
                var mm = Length.FromMillimeters;
                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, "document-a4.pdf");
                Converter.ConvertHTML(document, a4, a4Path);
                Console.WriteLine($"Saved: {a4Path}")
;
                // A3 landscape (420 x 297 mm) 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, "document-a3-landscape.pdf");
                Converter.ConvertHTML(document, a3Landscape, a3Path);
                Console.WriteLine($"Saved: {a3Path}");

                // Custom trim size 6 x 9 inches with narrow margins
                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, "document-6x9.pdf");
                Converter.ConvertHTML(document, custom, customPath);
                Console.WriteLine($"Saved: {customPath}");
            }
        }
    }
}

כיצד לרוץ

  1. app:
dotnet new console -n AsposeHtmlAdvancedPdfDemo
cd AsposeHtmlAdvancedPdfDemo
  1. :
dotnet add package Aspose.HTML
  1. תחליף Program.cs עם The דוגמה מלאה למעלה.
  2. @ info: whatsthis:
dotnet run -- ../path/to/sample.html

מה הקוד הזה עושה

  • Loads קובץ HTML (או להשתמש HTML מקוון כדי להתחיל במהירות).
  • ConfigurationPdfSaveOptions עבור דיוקן A4, נוף A3 וגודל קישוט מותאם אישית 6×9 אינץ'.
  • יישוםMediaType.Print או MediaType.Screen כדי להתאים את הכללים של CSS שלך.
  • ייצוא 3 קבצים PDF עבור out/ פופולרי.

פתרון בעיות וטיפים

  • חוקי CSS לא נכונים:טוגל options.Css.MediaType בין Print ו Screen כדי להתאים את הסגנון שלך.
  • תוכן קצר או קצר:הגדילו את גבולות או את גודל הדף; שימו לב לפורמטים גדולים יותר עבור טבלאות רחבות.
  • מקורות חסרים: ודא כי הטופס זמין ל renderer או להטביע דרך @font-face על HTML שלך.
  • ביצועים: הפשט DOM / CSS כבד כאשר אפשרי; קח את הנכסים סטטיים.

FAQ

Q1.איך אני מגדיר את גודל הדף ומגבלות עבור PDF? שימוש PdfSaveOptions.PageSetup.AnyPage = new Page(Size, Margin) עם יחידות מ Length (מילטרים או אינץ ’ של מילים).

Q2.Can I force סגנונות הדפסה במהלך rendering? תגית: set options.Css.MediaType = MediaType.Print כך @media print הכללים מתייחסים.

Q3.איך אני מראה את הדפים של נוף? הצג נוף Size (לדוגמה, A3 420 × 297 מ"מ) בעת יצירת Page.

Q4.How אני יכול לייצא מגוון של גרסאות (דפסה נגד מסך)? יצירת נפרד PdfSaveOptions מקרים שונים עם Css.MediaType עמודים נוספים, אז התקשר Converter.ConvertHTML עבור כל אחד.

Q5: האם אני צריך מנוע דפדפן פועל? HTML מראה את צד השרת ללא דפדפנים חיצוניים.

Conclusion

עם PdfSaveOptions עם CSS מודע למדיה, תוכל לייצר PDF שמתאימים לצרכים של הדפסה, ארכיון או מנהלים. התחל עם דיוקן A4 לשימוש כללי, הוסף נוף A3 עבור עיצובים רחבים, ולשמור על גודל קישוט מותאם אישית עבור מגזינים או דוחות.

More in this category