PdfMetamorphosisHtmlToPdfConvertStringToFile Method |
Converts HTML string to PDF file. Don't forget to set the property
BaseUrl to see images in output PDF file.
Namespace: SautinSoftAssembly: PdfMetamorphosis (in PdfMetamorphosis.dll) Version: 2024.1.12
Syntax public int HtmlToPdfConvertStringToFile(
string inputString,
string outputFileName
)
Public Function HtmlToPdfConvertStringToFile (
inputString As String,
outputFileName As String
) As Integer
Parameters
- inputString String
- Any string in HTML format, even a piece of HTML code
- outputFileName String
- Local path to output PDF file
Return Value
Int32
0 - converting successfully
2 - can't create output file, check the output path
3 - converting failed
Example How to convert HTML string to PDF file in C#
using System;
using System.IO;
using System.Collections;
namespace Sample
{
class Test
{
static void Main(string[] args)
{
SautinSoft.PdfMetamorphosis p = new SautinSoft.PdfMetamorphosis();
p.PageSettings.Orientation = SautinSoft.PdfMetamorphosis.PageSetting.Orientations.Portrait;
p.PageSettings.Size.Letter();
p.PageSettings.Header.FromString("<b>Sample header in HTML format</b>",SautinSoft.PdfMetamorphosis.HeadersFooters.InputFormat.Html);
p.PageSettings.Footer.FromString(@"{\rtf1 \b Bold Footer}", SautinSoft.PdfMetamorphosis.HeadersFooters.InputFormat.Rtf );
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 = "";
htmlString = ReadFromFile(htmlPath);
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 "";
}
}
}
}
How to convert HTML string to PDF file in VB.Net
Imports Microsoft.VisualBasic
Imports System.IO
Namespace Sample
Friend Class Test
Shared Sub Main(ByVal args() As String)
Dim p As New SautinSoft.PdfMetamorphosis()
p.PageSettings.Orientation = SautinSoft.PdfMetamorphosis.PageSetting.Orientations.Portrait
p.PageSettings.Size.Letter()
p.PageSettings.Header.FromString("<b>Sample header in HTML format</b>", SautinSoft.PdfMetamorphosis.HeadersFooters.InputFormat.Html)
p.PageSettings.Footer.FromString("{\rtf1 \b Bold footer}", SautinSoft.PdfMetamorphosis.HeadersFooters.InputFormat.Rtf)
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 = ""
htmlString = ReadFromFile(htmlPath)
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
See Also