ПРОДУКТЫ   СКАЧАТЬ КУПИТЬ ПОМОЩЬ БЛОГ  О КОМПАНИИ  
 
Основные свойства
DOCX в PDF
RTF в PDF
>>HTML в PDF
Text в PDF
Разбиение и слияние PDF
Скачать ознакомительную версию
Купить
Online-demo
Документация
Новости

"How to write a function to convert HTML to PDF in C# for 15 minutes?"

How to write a function to convert HTML to PDF in C# for 15 minutes?

Introduction

    Imagine, that in 15 minutes after reading this text you will be able to provide API for your application which converts any HTML document to PDF, using C# or VB.Net.
            SautinSoft.PdfMetamorphosis p = new SautinSoft.PdfMetamorphosis();

            if (p != null)
            {
                // Specify page options.
                p.PageSettings.Size.A4();
                
                string htmlPath = @"c:\Fathers and Sons.html";
                string pdfPath = @"c:\Fathers and Sons.pdf";

                int result = p.HtmlToPdfConvertFile(htmlPath, pdfPath);
            }

          


Nuget   Online Demo   Скачать, 8.1 (10 окт. 2019)



Есть вопрос?

Если у вас есть вопросы, нужна помощь или пример кода: обращайтесь в нашу службу поддержки по адресу support@sautinsoft.com.

Input HTML documents

The component can read and parse all types of HTML: 3.2, HTML 4.01, HTML 5 with CSS and XHTML. Our component doesn't require any special version of HTML format it will work with any version. The component has own HTML parser.

Scripting languages (like a JQuery, JavaScript) are not supported. If you want to convert HTML (saturated with JavaScript and complex CSS) to PDF, use another our component - PDF Vision .Net.

These CSS are now supported by the current version of PDF Metamorphosis .Net:

background-color: border-top-style: border-color: font-size: margin-bottom:
background: border-right-style: border-top-color: font-family: margin-left:
border-collapse: border-bottom-style: border-right-color: font-weight: padding:
border: border-left-style: border-bottom-color: font-style: padding-top:
border-top: border-width: border-left-color: height: padding-right:
border-right: border-top-width: color: list-style-type: padding-bottom:
border-bottom: border-right-width: display: margin: padding-left:
border-left: border-bottom-width: direction: margin-top: page-break-after:
border-style: border-left-width: font: margin-right: page-break-before:
         
page-break-inside: text-indent: vertical-align:    
text-align: text-transform: width:    
text-decoration: visibility: white-space:    

Output PDF documents

PDF Metamorphosis .Net can render PDF documents using own PDF class. You may select the version for output PDF: 1.2 -1.6, PDF/A. If you are looking for .Net class (C#) to convert PDF to other formats, see our PDF Focus .Net.


Основные преимущества PDF Metamorphosis .Net:

  1. Благодаря широкой функциональности PDF Metamorphosis .Net, достаточно только добавить ссылку к "PdfMetamorphosis.dll" и написать 3-4 строки на C# вы получите возможностькачественно конвертировать PDF из HTML, RTF, Text или PDF из DOCX.

  2. PDF Metamorphosis .Net предоставляет полный набор API для преобразования из текста, RTF, HTML в PDF и слияние PDF документов.

  3. PDF Metamorphosis .Net является абсолютно автономной библиотекой PDF, не нужно беспокоиться о наличии Adobe Acrobat, MS Word, OpenOffice или другого программного обеспечения.

  4. PDF Metamorphosis .Net имеет один из самых быстрых API для конвертирования в PDF документы и, следовательно, клиенты не будут иметь никаких задержек во время создания PDF документов.

  5. Мне не нужно беспокоиться о точности исходных HTML и RTF-документов. PDF Metamorphosis .Net может «обработать» любые типы , версии и создать качественный документ PDF.

  6. Одна цена. Я плачу один раз и могу использовать «PDF Metamorphosis .Net» без каких-либо дополнительных сборов. Моя лицензия бессрочна.

  7. В качестве бонуса я получаю неограниченную техническую поддержку бесплатно и независимо от даты покупки.

Some examples to convert HTML to PDF in C# and VB.Net

1. Convert HTML string to PDF bytes in C#:

            SautinSoft.PdfMetamorphosis p = new SautinSoft.PdfMetamorphosis();

            if (p != null)
            {
                string htmlPath = @"c:\Doctor Zhivago.htm";
                string pdfPath = Path.ChangeExtension(htmlPath, ".pdf");
                string htmlString = "";

                // 1. Get HTML content.
                htmlString = ReadFromFile(htmlPath); 

                // 2. Converting HTML to PDF
                // Specify BaseUrl to help converter find a full path for relative images, CSS.
                p.HtmlSettings.BaseUrl = Path.GetDirectoryName(Path.GetFullPath(htmlPath));
                byte[] pdfBytes = p.HtmlToPdfConvertStringToByte(htmlString);

                if (pdfBytes != null)
                {
                    // 3. Save the PDF document to a file for a viewing purpose.
                    File.WriteAllBytes(pdfPath, pdfBytes);
                    System.Diagnostics.Process.Start(pdfPath);
                }
            }
      
2. Convert URL to PDF using C#:
            SautinSoft.PdfMetamorphosis p = new SautinSoft.PdfMetamorphosis();

            if (p != null)
            {
                string htmlPath = @"http://www.w3.org/";
                string pdfPath = @"c:\w3.pdf";

                //Converting HTML to PDF
                int result = p.HtmlToPdfConvertFile(htmlPath, pdfPath);
            }

      
3. Convert HTML file to PDF file in VB.Net:
            Dim p As New SautinSoft.PdfMetamorphosis()

            ' Set page options.
            p.PageSettings.Size.A4()
            p.PageSettings.Numbering.Text = "Page {page} of {numpages}"

            Dim htmlPath As String = "d:\One Day in the Life of Ivan Denisovich.htm"
            Dim pdfPath As String = "d:\One Day in the Life of Ivan Denisovich.pdf"

            Dim result As Integer = p.HtmlToPdfConvertFile(htmlPath, pdfPath)
      
4. Convert ASPX page to PDF - C#, ASP.Net application:
Default.aspx.cs:
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.IO;
using System.Net;
using System.Text;

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        //Create a simple ASP.Net page with table inside

        if (!Page.IsPostBack)
        {
            //Create a simple ASP.Net table
            Table table = new Table();
            TableRow row = null;
            TableCell cell = null;

            int rows = 5;
            int cells = 5;
            for (int x = 0; x < rows; x++)
            {
                row = new TableRow();
                for (int y = 0; y < cells; y++)
                {
                    cell = new TableCell();
                    cell.Width = Unit.Pixel(80);
                    cell.BorderColor = System.Drawing.ColorTranslator.FromHtml("darkgreen");
                    cell.BorderWidth = Unit.Pixel(2);
                    cell.Font.Name = "Helvetica";
                    cell.Font.Size = FontUnit.Point(10);
                    cell.HorizontalAlign = HorizontalAlign.Center;

                    cell.Text = "Row " + ((int)(x + 1)).ToString() + ", Cell " + ((int)(y + 1)).ToString();
                    row.Cells.Add(cell);
                }
                table.Rows.Add(row);
            }

            //Add table to page
            Panel1.Controls.Add(table);
        }
    }

    //Get HTML from ASPX
    protected override void Render(HtmlTextWriter writer)
    {
        // setup a TextWriter to capture the markup
        TextWriter tw = new StringWriter();
        HtmlTextWriter htw = new HtmlTextWriter(tw);

        // render the markup into our surrogate TextWriter
        base.Render(htw);

        // get the captured markup as a string
        string currentPage = tw.ToString();
        
        //Save HTML code to tempory file 
        if (!Page.IsPostBack)
            File.WriteAllText(Path.Combine(Server.MapPath("Temp"), "temp.htm"), currentPage, Encoding.UTF8);

        // render the markup into the output stream verbatim
        writer.Write(currentPage);
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        //Get HTML from temporary file which we've created in the overriden method Render()
        string html = File.ReadAllText(Path.Combine(Server.MapPath("Temp"), "temp.htm"), Encoding.UTF8);

        string url = System.Web.HttpContext.Current.Request.Url.AbsoluteUri;

        if (html.Length > 0)
        {
            SautinSoft.PdfMetamorphosis p = new SautinSoft.PdfMetamorphosis();
		    //After purchasing the license, please insert your serial number here to activate the component
            //p.Serial = "XXXXXXXXXXX";

            p.HtmlSettings.BaseUrl = url;

            byte[] pdf = p.HtmlToPdfConvertStringToByte(html);

            //show PDF
            if (pdf != null)
            {
                Response.Buffer = true;
                Response.Clear();
                Response.ContentType = "application/PDF";
                Response.AddHeader("Content-Disposition:", "attachment; filename=Result.pdf");
                Response.BinaryWrite(pdf);
                Response.Flush();
                Response.End();
            }

        }
    }
}
      
Default.aspx:
<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>





    Untitled Page


    
If anyone needs a code sample in C#, VB.Net, ASP.Net etc "How to convert HTML to PDF", email us at support@sautinsoft.com or ask at Online Chat (right-bottom corner of this page). We'll help you certainly!


Требования и техническая информация

     Требуется только .Net 2.0 или выше. Наш продукт совместим со всеми языками .Net и поддерживает все операционные системы, в которых может использоваться .NET Framework. Обратите внимание, что PDF Metamorphosis .Net полностью написан на управляемом C #, что делает его абсолютно автономной и независимой библиотекой.



Оптимальные цены

     Библиотека предлагает разработчикам высококачественное преобразованиепосмотреть цены. Основной интерес представляет то, что PDF Metamorphosis .Net дешевле, чем все его более или менее популярные конкуренты. Например, стоимость одной лицензии $339 без дополнительных сборов!


Скачать

Чтобы увидеть функциональность из первых рук, скачайте самые свежие «PDF Metamorphosis .Net» с примерами кода, 19.9 Мб.

 
 
Программы Скачать Помощь О компании
SautinSoft on Facebook SautinSoft on Twitter SautinSoft on Youtube Our Blog
Авторское право © 2002 - 2019 SautinSoft (начало с сайта sautin.com). Все права защищены.