PdfMetamorphosisHtmlToPdfConvertStringToByte Method |
Converts HTML string into array of PDF bytes. 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 byte[] HtmlToPdfConvertStringToByte(
string inputString
)
Public Function HtmlToPdfConvertStringToByte (
inputString As String
) As Byte()
Parameters
- inputString String
- Any string in HTML format, even a piece of HTML code
Return Value
BytePDF document as byte array, or null in case of converting failed
Example How to convert HTML string to PDF bytes using C# in memory
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();
if (p != null)
{
string htmlPath = @"..\..\..\example.htm";
string pdfPath = Path.ChangeExtension(htmlPath, ".pdf");
string htmlString = "";
htmlString = ReadFromFile(htmlPath);
p.HtmlSettings.BaseUrl = Path.GetDirectoryName(Path.GetFullPath(htmlPath));
byte[] pdfBytes = p.HtmlToPdfConvertStringToByte(htmlString);
if (pdfBytes != null)
{
File.WriteAllBytes(pdfPath, pdfBytes);
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 PDF bytes using VB.Net in memory
Imports System.IO
Namespace Sample
Friend Class Test
Shared Sub Main(ByVal args() As String)
Dim p As New SautinSoft.PdfMetamorphosis()
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(Path.GetFullPath(htmlPath))
Dim pdfBytes() As Byte = p.HtmlToPdfConvertStringToByte(htmlString)
If pdfBytes IsNot Nothing Then
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
See Also