горизонтально расположенные полосы: белая, синяя, красная

Как конвертировать HTML в PDF на C# и VB.NET

Конвертирование HTML-файла в PDF

using System;
using System.IO;
using System.Collections;
namespace Sample
{
  class Test
  {
    static void Main(string[] args)
    {
      SautinSoft.PdfMetamorphosis p = new SautinSoft.PdfMetamorphosis();
      //After purchasing the license, please insert your serial number here to activate the component
      //p.Serial = "XXXXXXXXXXX";

      //specify some options
      p.PageSettings.Size.A4();
      p.PageSettings.Orientation = SautinSoft.PdfMetamorphosis.PageSetting.Orientations.Landscape;
      p.PageSettings.Numbering.Text = "Page {page} of {numpages}";
      if (p != null)
        {
          string inputFile = @"..\..\example.htm";
          string outputFile = @"..\..\test.pdf";
          
          int result = p.HtmlToPdfConvertFile(inputFile, outputFile);
          if (result == 0)
            {
              System.Console.WriteLine("Converted successfully!");
              System.Diagnostics.Process.Start(outputFile);
            }
          else
          {
            System.Console.WriteLine("Converting Error!");
          }
        }
      }
    }
  }
}
Namespace Sample
  Friend Class Test
    Shared Sub Main(ByVal args() As String)
      Dim p As New SautinSoft.PdfMetamorphosis()
      ' After purchasing the license, please insert your serial number here to activate the component
      'p.Serial = "XXXXXXXXXXX"

      'specify some options
      p.PageSettings.Size.A4()
      p.PageSettings.Orientation = SautinSoft.PdfMetamorphosis.PageSetting.Orientations.Landscape
      p.PageSettings.Numbering.Text = "Page {page} of {numpages}"
      If p IsNot Nothing Then
        Dim inputFile As String = "..\..\example.htm"
        Dim outputFile As String = "..\..\test.pdf"
        Dim result As Integer = p.HtmlToPdfConvertFile(inputFile, outputFile)
        If result = 0 Then
          System.Console.WriteLine("Converted successfully!")
          System.Diagnostics.Process.Start(New System.Diagnostics.ProcessStartInfo(outputFile) With {.UseShellExecute = True})
        Else
          System.Console.WriteLine("Converting Error!")
        End If
      End If
    End Sub
  End Class
End Namespace

Конвертирование HTML-строки в байты PDF

using System;
using System.IO;
using System.Collections;
using System.Net;

namespace Sample
{
  class Test
  {
    static void Main(string[] args)
    {
      SautinSoft.PdfMetamorphosis p = new SautinSoft.PdfMetamorphosis();
      // After purchasing the license, please insert your serial number here to activate the component
      //p.Serial = "XXXXXXXXXXX";
      if (p != null)
      {
        string htmlPath = @"..\..\example.htm";
        string pdfPath = Path.ChangeExtension(htmlPath, ".pdf");
        string htmlString = "";

        // The easiest way is using the method 'HtmlToPdfConvertFile':
        // int ret = p.HtmlToPdfConvertFile(htmlPath,pdfPath);
        // or:
        // 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);
          }
        else
        {
          System.Console.WriteLine("An error occurred during converting HTML to PDF!");
        }
      }
    }
    public static string ReadFromFile(string fileName)
    {
      try
      {
        FileInfo fi = new FileInfo(fileName);
        FileStream strmRead = fi.Open(FileMode.Open);
        int len = (int)fi.Length;
        byte[] b = new byte[len];
        strmRead.Read(b, 0, len);
        strmRead.Close();
        char[] arCharRes = new char[len];
        for (int i = 0; i < len; i++)
        {
          arCharRes[i] = (char)b[i];
        }
        return new string(arCharRes);
      }
      catch
      {
        return "";
      }
    }
  }
}
Imports System.IO
Namespace Sample
  Friend Class Test
    Shared Sub Main(ByVal args() As String)
      Dim p As New SautinSoft.PdfMetamorphosis()
      'After purchasing the license, please insert your serial number here to activate the component
      ' p.Serial = "XXXXXXXXXXX"
      If p IsNot Nothing Then
        Dim htmlPath As String = "..\..\example.htm"
        Dim pdfPath As String = Path.ChangeExtension(htmlPath, ".pdf")
        Dim htmlString As String = ""

        ' The easiest way is using the method 'HtmlToPdfConvertFile':
        ' int ret = p.HtmlToPdfConvertFile(htmlPath,pdfPath)
        ' or:
        ' 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))
        Dim pdfBytes() As Byte = p.HtmlToPdfConvertStringToByte(htmlString)
        If pdfBytes IsNot Nothing Then
          ' 3. Save the PDF document to a file for a viewing purpose.
          File.WriteAllBytes(pdfPath, pdfBytes)
          System.Diagnostics.Process.Start(New System.Diagnostics.ProcessStartInfo(pdfPath) With {.UseShellExecute = True})
        Else
          System.Console.WriteLine("An error occurred during converting HTML to PDF!")
        End If
      End If
    End Sub
    Public Shared Function ReadFromFile(ByVal fileName As String) As String
      Try
        Dim fi As New FileInfo(fileName)
        Dim strmRead As FileStream = fi.Open(FileMode.Open)
        Dim len As Integer = CInt(fi.Length)
        Dim b(len - 1) As Byte
        strmRead.Read(b, 0, len)
        strmRead.Close()
        Dim arCharRes(len - 1) As Char
        For i As Integer = 0 To len - 1
          arCharRes(i) = Microsoft.VisualBasic.ChrW(b(i))
        Next i
        Return New String(arCharRes)
      Catch
        Return ""
      End Try
    End Function
  End Class
End Namespace

Конвертирование HTML-строки в PDF-файл

using System;
using System.IO;
using System.Collections;
namespace Sample
{
  class Test
  {
    static void Main(string[] args)
    {
      SautinSoft.PdfMetamorphosis p = new SautinSoft.PdfMetamorphosis();
      // After purchasing the license, please insert your serial number here to activate the component
      //p.Serial = "XXXXXXXXXXX";

      // Specify some PDF options.
      p.PageSettings.Orientation = SautinSoft.PdfMetamorphosis.PageSetting.Orientations.Portrait;
      p.PageSettings.Size.Letter();

      // Specify header in HTML format.
      p.PageSettings.Header.FromString("<b>Sample header in HTML format</b>",SautinSoft.PdfMetamorphosis.HeadersFooters.InputFormat.Html);

      // Specify footer in RTF format.
      p.PageSettings.Footer.FromString(@"{\rtf1 \b Bold Footer}", SautinSoft.PdfMetamorphosis.HeadersFooters.InputFormat.Rtf);

      // Specify page numbers
      p.PageSettings.Numbering.Text = "Page {page} of {numpages}";
      p.PageSettings.Numbering.PosX.Mm = p.PageSettings.Size.Width.Mm/2;
      p.PageSettings.Numbering.PosY.Mm = 10;

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

        // The easiest way is using the method 'HtmlToPdfConvertFile':
        // int ret = p.HtmlToPdfConvertFile(htmlPath,pdfPath);
        // or:
        // 1. Get HTML content from file
        htmlString = ReadFromFile(htmlPath);

        // 2. Converting HTML to PDF
        // Specify BaseUrl to help converter find a full path to relative images and external CSS.
        p.HtmlSettings.BaseUrl = Path.GetDirectoryName(htmlPath);

        if (p.HtmlToPdfConvertStringToFile(htmlString, pdfPath)==0)
          System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo(pdfPath) { UseShellExecute = true });
        else
          System.Console.WriteLine("An error occurred during converting HTML to PDF!");
      }
    }
    public static string ReadFromFile(string fileName)
    {
      try
      {
        FileInfo fi = new FileInfo(fileName);
        FileStream strmRead = fi.Open(FileMode.Open);
        int len = (int)fi.Length;
        byte[] b = new byte[len];
        strmRead.Read(b, 0, len);
        strmRead.Close();
        char[] arCharRes = new char[len];
        for (int i = 0; i < len; i++)
          {
            arCharRes[i] = (char)b[i];
          }
            return new string(arCharRes);
      }
      catch
      {
        return "";
      }
    }
  }
}
Imports Microsoft.VisualBasic
Imports System.IO
Namespace Sample
  Friend Class Test
    Shared Sub Main(ByVal args() As String)
      Dim p As New SautinSoft.PdfMetamorphosis()
      ' After purchasing the license, please insert your serial number here to activate the component
      'p.Serial = "XXXXXXXXXXX"

      ' Specify some PDF options.
      p.PageSettings.Orientation = SautinSoft.PdfMetamorphosis.PageSetting.Orientations.Portrait
      p.PageSettings.Size.Letter()

      ' Specify header in HTML format.
      p.PageSettings.Header.FromString("<b>Sample header in HTML format</b>", SautinSoft.PdfMetamorphosis.HeadersFooters.InputFormat.Html)

      ' Specify footer in RTF format.
      p.PageSettings.Footer.FromString("{\rtf1 \b Bold footer}", SautinSoft.PdfMetamorphosis.HeadersFooters.InputFormat.Rtf)

      ' Specify page numbers
      p.PageSettings.Numbering.Text = "Page {page} of {numpages}"
      p.PageSettings.Numbering.PosX.Mm = p.PageSettings.Size.Width.Mm / 2
      p.PageSettings.Numbering.PosY.Mm = 10

      If p IsNot Nothing Then
        Dim htmlPath As String = "..\..\example.htm"
        Dim pdfPath As String = Path.ChangeExtension(htmlPath, ".pdf")
        Dim htmlString As String = ""

        ' The easiest way is using the method 'HtmlToPdfConvertFile':
        ' int ret = p.HtmlToPdfConvertFile(htmlPath,pdfPath)
        ' or:
        ' 1. Get HTML content from file
        htmlString = ReadFromFile(htmlPath)

        ' 2. Converting HTML to PDF
        ' Specify BaseUrl to help converter find a full path to relative images and external CSS.
        p.HtmlSettings.BaseUrl = Path.GetDirectoryName(htmlPath)
        If p.HtmlToPdfConvertStringToFile(htmlString, pdfPath) = 0 Then
          System.Diagnostics.Process.Start(New System.Diagnostics.ProcessStartInfo(pdfPath) With {.UseShellExecute = True})
        Else
          System.Console.WriteLine("An error occurred during converting HTML to PDF!")
        End If
      End If
    End Sub
    Public Shared Function ReadFromFile(ByVal fileName As String) As String
      Try
        Dim fi As New FileInfo(fileName)
        Dim strmRead As FileStream = fi.Open(FileMode.Open)
        Dim len As Integer = CInt(fi.Length)
        Dim b(len - 1) As Byte
        strmRead.Read(b, 0, len)
        strmRead.Close()
        Dim arCharRes(len - 1) As Char
        For i As Integer = 0 To len - 1
          arCharRes(i) = ChrW(b(i))
        Next i
          Return New String(arCharRes)
        Catch
          Return ""
      End Try
    End Function
  End Class
End Namespace

Другие примеры кода SautinSoft.PdfMetamorphosis

DOCX/DOC в PDF RTF в PDF ✦ HTML в PDF Text в PDF Всё в PDF Split/Merge PDF Настройки PDF Запароленный PDF Watermark
 ВВЕРХ