HTML փաստաթուղթը փոխարկել PDF փաստաթղթի C# լեզվով

Բլոգի կատեգորիա՝ ՊատկերավորումPDF.NET

08.04.2026

HTML էջը PDF փաստաթղթի փոխարկելը C# լեզվով տարածված խնդիր է, որը հաճախ օգտագործվում է HTML ձևանմուշներից հաշիվ-ապրանքագրեր, հաշվետվություններ, պայմանագրեր և այլ գործարար փաստաթղթեր ստեղծելու համար։ HTML էջը PDF փաստաթղթի փոխարկելը C# լեզվով նույնպես կարևոր է դինամիկ վեբ բովանդակությունից ստատիկ, փոխադրելի և տպագրության համար պատրաստ փաստաթղթեր ստեղծելու համար։

HTML էջը PDF փաստաթղթի փոխակերպելու գործընթացը ներառում է հետևյալ քայլերը՝

HTML5 ստանդարտի սպեցիֆիկացիա (https://html.spec.whatwg.org/print.pdf) պարունակում է 1553 էջ։

CSS2 ստանդարտի սպեցիֆիկացիա (https://www.w3.org/TR/CSS22/css2.pdf) պարունակում է 426 էջ։

JavaScript ստանդարտի սպեցիֆիկացիա (https://ecma-international.org/wp-content/uploads/ECMA-262_16th_edition_june_2025.pdf) պարունակում է 835 էջ։

HTML-ը PDF-ի փոխակերպելու քայլերը և HTML5, CSS2 և JavaScript սպեցիֆիկացիաների վերաբերյալ տեղեկատվությունը ներկայացված են վերևում՝ պարզաբանելու համար, որ ընդհանուր առմամբ HTML-ը PDF-ի փոխակերպելը շատ բարդ խնդիր է, եթե այն իրականացվի զրոյից։

Միևնույն ժամանակ, այս բարդ խնդիրն արդեն իսկ իրականացված է ժամանակակից վեբ զննարկիչներում, որոնք HTML էջերը կատարելապես են մշակում և կարող են պահպանել մշակված HTML էջը PDF ֆայլի մեջ։ Հետևաբար, ծագում է ողջամիտ հարց. հնարավո՞ր է օգտագործել վեբ զննարկիչ C# ծրագրում՝ HTML էջը PDF փաստաթղթի փոխակերպելու համար։

Այս հոդվածում մենք կանդրադառնանք, թե ինչպես C# ծրագրում ցանկացած բարդության HTML էջը PDF փաստաթղթի փոխակերպել բացարձակապես անվճար և առավելագույն որակով՝ օգտագործելով Chromium-ը։

Chromium-ը բաց կոդով վեբ զննարկչի նախագիծ է, որը հիմնականում օգտագործվում է որպես հիմք ժամանակակից վեբ զննարկիչների մեծ մասի համար, ներառյալ Google Chrome-ը, Microsoft Edge-ը, Opera-ն և այլն։ Այն նախագծված է արագությունը, անվտանգությունը և կայունությունը հաշվի առնելով և ներառում է Google-ի, Microsoft-ի և այլ ընկերությունների մշակողների զգալի ներդրումները։


HTML էջը PDF փաստաթղթի փոխակերպելը C# լեզվով՝ օգտագործելով Chrome հրամանի տողը

HTML էջը PDF փաստաթղթի փոխակերպելու ամենահեշտ ձևը հետևյալ Chrome հրամանը հրամանի տողից գործարկելն է.
"C:\Program Files\Google\Chrome\Application\chrome.exe" --headless --disable-gpu —run-all-compositor-stages-before-draw --no-margins --printBackground=true --no-pdf-header-footer --print-to-pdf="D:\result.pdf" "https://www.vintasoft.com/index.html"

Ահա Chrome հրամանի տողում օգտագործվող պարամետրերի համառոտ նկարագրությունը.

Վերը նշված հրամանը կարող է գործարկվել Windows/Linux/maOS հրամանի տողից կամ C# կոդից:

Ահա C# կոդը, որը ցույց է տալիս, թե ինչպես փոխարկել HTML էջը PDF փաստաթղթի .NET կոնսոլային ծրագրում՝ օգտագործելով Chrome-ը.
using System.Diagnostics;

namespace ConsoleApp1
{
    internal class Program
    {
        static void Main(string[] args)
        {
            string chromePath = @"C:\Program Files\Google\Chrome\Application\chrome.exe";
            string sourceUrl = "https://www.vintasoft.com/index.html";
            string resultPdfFilePath = @"D:\result.pdf";
            string chromeArgsTemplate =
                "--headless --no-pdf-header-footer --no-margins --disable-gpu --run-all-compositor-stages-before-draw --printBackground=true --print-to-pdf=\"{0}\" {1}";
            
            ProcessStartInfo startInfo = new ProcessStartInfo
            {
                FileName = chromePath,
                Arguments = string.Format(chromeArgsTemplate, resultPdfFilePath, sourceUrl),
                UseShellExecute = false,
                CreateNoWindow = false
            };
            using (Process process = Process.Start(startInfo))
            {
                process.WaitForExit();
            }
            
            Console.WriteLine("HTML page is converted to the PDF document.");
        }
    }
}


Այս փոխակերպման մեթոդը կարող է օգտագործվել, եթե համակարգչում տեղադրված է Chrome վեբ զննարկիչը, և դուք գիտեք "chrome.exe" ֆայլի ուղին:

Արդյունքում ստացված .NET ծրագիրը փոքր է չափսերով, քանի որ այն չի պարունակում որևէ լրացուցիչ գրադարան և ամբողջությամբ կախված է Chrome վեբ զննարկչից:


HTML էջը PDF փաստաթղթի փոխակերպումը C# լեզվով՝ օգտագործելով CefSharp.OffScreen nuget-package-ը

CefSharp.OffScreen nuget-package-ը պարունակում է CefSharp գրադարանի կոմպիլյացված տարբերակը և թույլ է տալիս մշակողներին ֆոնային ռեժիմում աշխատեցնել Chromium վեբ զննարկչի ամբողջական օրինակ՝ առանց տեսանելի ինտերֆեյսի:

Եթե ցանկանում եք օգտագործել CefSharp.OffScreen գրադարանը .NET Framework ծրագրում, պարզապես ավելացրեք հղում CefSharp.OffScreen nuget-փաթեթին .NET Framework ծրագրում։

Եթե ցանկանում եք օգտագործել CefSharp.OffScreen գրադարանը .NET Core ծրագրում, պարզապես ավելացրեք հղում CefSharp.OffScreen.NETCore nuget-փաթեթին .NET Core ծրագրում։

Ահա C# կոդը .NET կոնսոլային ծրագրի համար, որը HTML էջը փոխակերպում է PDF փաստաթղթի՝ օգտագործելով CefSharp.OffScreen գրադարանը.
using CefSharp;
using CefSharp.OffScreen;
using System;
using System.Threading.Tasks;

namespace ConsoleApp1
{
    internal class Program
    {
        static void Main(string[] args)
        {
            string sourceUrl = "https://www.vintasoft.com/index.html";
            string resultPdfFilePath = @"D:\result.pdf";
            Task task = ConvertHtmlToPdfUsingCefSharpOffScreen(sourceUrl, resultPdfFilePath);
            task.Wait();
            Console.WriteLine("HTML page is converted to the PDF document.");
            Console.ReadKey();
        }

        static async Task ConvertHtmlToPdfUsingCefSharpOffScreen(string url, string pdfPath)
        {
            // if CEF is not initialized
            if (Cef.IsInitialized == null || Cef.IsInitialized == false)
            {
                // create CEF settings
                CefSettings settings = new CefSettings();
                // initialize CEF
                Cef.Initialize(settings);
            }

            // create Chromium web browser
            using (ChromiumWebBrowser browser = new ChromiumWebBrowser(url))
            {
                // wait while page will be loaded
                await browser.WaitForInitialLoadAsync();

                // create PDF print settings
                PdfPrintSettings printSettings = new PdfPrintSettings
                {
                    MarginType = CefPdfPrintMarginType.None,
                    PrintBackground = true,
                    Landscape = false,
                    Scale = 1.0,
                    PreferCssPageSize = true,
                    DisplayHeaderFooter = false
                };

                // print web page to a PDF file
                await browser.PrintToPdfAsync(pdfPath, printSettings);
            }
        }
    }
}


Այս փոխակերպման մեթոդը անկախ է Chrome վեբ զննարկիչից, և այս դեպքում անհրաժեշտ չէ ինքներդ կոմպիլացնել CefSharp-ը, քանի որ CefSharp.OffScreen nuget-փաթեթի ստեղծողները արդեն արել են դա։

Արդյունքում ստացված .NET հավելվածը լիովին ինքնուրույն է և մեծ չափի (մի փոքր ավելի քան 300 ՄԲ), քանի որ այն պարունակում է CefSharp գրադարանի ֆայլեր։


HTML էջը PDF փաստաթղթի փոխակերպելը C# լեզվով՝ օգտագործելով CefSharp գրադարանը

CefSharp-ը բաց կոդով նախագիծ է, որը տրամադրում է .NET փաթեթավորում Chromium Embedded Framework (CEF)-ի համար։ CefSharp-ը թույլ է տալիս մշակողներին ներդնել լիովին ֆունկցիոնալ Chromium-ի վրա հիմնված վեբ զննարկիչ անմիջապես C# կամ VB.NET աշխատասեղանի հավելվածների մեջ։

CefSharp պահոցը գտնվում է GitHub-ում՝ https://github։com/cefsharp/cefsharp

Պահոցը պարունակում է 15 նախագիծ, այդ թվում՝ կոնսոլային հավելվածի նմուշ, WinForms հավելվածի նմուշ և WPF հավելվածի նմուշ։

Փորձեք գործարկել WPF հավելվածի նմուշը (նախագիծ՝ "CefSharp.Wpf.Example."):netcore") և դուք կտեսնեք WPF ծրագիր՝ Chrome-ին նման էջի նավիգացիայով։ WPF ծրագիրը ներառում է հղումների նավիգացիա, CSS ոճեր և JavaScript կոդ՝ այն զգացվում է ինչպես Chrome-ը։ Ծրագրի գլխավոր ցանկում կարող եք ընտրել "Թեստեր => Տպել ընթացիկ ներդիրը PDF-ի վրա" ցանկը և պահպանել ստացված HTML էջը որպես PDF ֆայլ։


Այս փոխակերպման մեթոդը անկախ է Chrome վեբ զննարկչից, բայց դուք պետք է ձեռքով կոմպիլացնեք CefSharp-ը սկզբնական կոդից, ինչը կատարվում է ավտոմատ կերպով՝ Visual Studio-ում CefSharp նախագիծը կոմպիլացնելիս։

Արդյունքում ստացված .NET ծրագիրը ("CefSharp.Wpf.Example.netcore" նախագիծը) լիովին ինքնուրույն է և ունի մեծ չափս (մի փոքր ավելի քան 400 ՄԲ), քանի որ այն պարունակում է CefSharp գրադարանի ֆայլեր։


PDF փաստաթղթերի մշակում VintaSoft Imaging .NET SDK-ով

VintaSoft-ը որոշել է չներառել HTML էջերի փոխակերպման ֆունկցիոնալություն PDF փաստաթղթերին իր SDK-ներում, քանի որ խնդիրը շատ բարդ է և արդեն իսկ իրականացված է ժամանակակից վեբ զննարկիչներում:

Միևնույն ժամանակ, VintaSoft Imaging .NET SDK-ն և VintaSoft PDF .NET Plug-in-ը թույլ են տալիս ստեղծել, դիտել, ստուգել, ​​տպել, մեկնաբանել, խմբագրել, պաշտպանել, ստորագրել, օպտիմալացնել, սեղմել, փոխարկել և պահպանել PDF և PDF/A փաստաթղթեր Windows, Linux և macOS համակարգերում:

Համապատասխանաբար, VintaSoft SDK-ն կարող է օգտագործվել ստեղծված PDF փաստաթուղթը մշակելու համար, մասնավորապես՝

VintaSoft Imaging .NET SDK + VintaSoft PDF .NET Plug-in-ի միջոցով PDF փաստաթղթեր մշակելու հնարավորությունների մասին մանրամասն տեղեկություններ կարող եք գտնել այստեղ՝ https://www.vintasoft.com/hy/vspdf-dotnet-index.html