/// <summary> /// Generates PDF by specifed HTML content. /// </summary> /// <param name="html">HTML content.</param> /// <param name="htmlEncoding">HTML content encoding.</param> /// <param name="settings">Conversion settings.</param> /// <returns></returns> public byte[] ConvertToPdf(string html, Encoding htmlEncoding, ConversionSettings settings) { if (settings == null) { throw new ArgumentNullException(nameof(settings)); } if (string.IsNullOrEmpty(html)) { html = string.Empty; } byte[] result; using (var inputStream = new MemoryStream(htmlEncoding.GetBytes(html))) using (var outputStream = new MemoryStream()) { ConvertToPdf(inputStream, outputStream, settings); result = outputStream.ToArray(); } return(result); }
/// <summary> /// Generate PDF into specified output <see cref="Stream" />. /// </summary> /// <param name="inputStream">HTML content input stream.</param> /// <param name="outputStream">PDF file output stream.</param> /// <param name="settings">Conversion settings.</param> public void ConvertToPdf( Stream inputStream, Stream outputStream, ConversionSettings settings) { if (inputStream == null) { throw new ArgumentNullException(nameof(inputStream)); } if (outputStream == null) { throw new ArgumentNullException(nameof(outputStream)); } if (settings == null) { throw new ArgumentNullException(nameof(settings)); } ConvertToPdfInternal(inputStream, outputStream, settings.ToString().Trim(), settings.ExecutionTimeout); }
/// <summary> /// Generates PDF by specifed HTML content. /// </summary> /// <param name="html">HTML content.</param> /// <returns></returns> public byte[] ConvertToPdf(string html) { return(ConvertToPdf(html, Encoding.UTF8, ConversionSettings.Default())); }