private string WkHtmlToPdfOptionsToStringParameters(WkHtmlToPdfOptions options) { var paramsStringBuilder = new StringBuilder(); paramsStringBuilder.Append($"--encoding {options.Encoding.WebName} "); paramsStringBuilder.Append($"--copies {options.Copies} "); paramsStringBuilder.Append($"--dpi {options.Dpi} "); paramsStringBuilder.Append($"--image-dpi {options.Dpi} "); paramsStringBuilder.Append($"--image-quality {options.Dpi} "); if (options.NoCollate) { paramsStringBuilder.Append("--no-collate "); } if (options.Grayscale) { paramsStringBuilder.Append("--grayscale "); } if (options.LowQuality) { paramsStringBuilder.Append("--lowquality "); } if (options.NoBackground) { paramsStringBuilder.Append($"--no-background "); } if (options.EnableForms) { paramsStringBuilder.Append($"--enable-forms "); } if (options.NoImages) { paramsStringBuilder.Append($"--no-images "); } if (options.DisableLinks) { paramsStringBuilder.Append($"--disable-internal-links --disable-external-links "); } if (options.DisableJavascript) { paramsStringBuilder.Append("--disable-javascript "); } string orientationParam = GetOrientationParam(options.PageOrientation); paramsStringBuilder.Append(orientationParam); string marginParams = GetMarginParams(options.Margin); paramsStringBuilder.Append(marginParams); string pageSizeParam = GetPageSizeParam(options.PageSize); paramsStringBuilder.Append(pageSizeParam); string headerParams = GetHeaderParams(options.Header); paramsStringBuilder.Append(headerParams); string footerParams = GetFooterParams(options.Footer); paramsStringBuilder.Append(footerParams); return(paramsStringBuilder.ToString()); }
public void ConvertHTMLToPDF(string inputHtmlFilePathOrUrl, string outputPdfFilePath, WkHtmlToPdfOptions options) { var parametersStringBuilder = new StringBuilder(); var stringParams = WkHtmlToPdfOptionsToStringParameters(options); parametersStringBuilder.Append(stringParams); parametersStringBuilder.Append($"{inputHtmlFilePathOrUrl} {outputPdfFilePath}"); ExecuteWithParameters(parametersStringBuilder.ToString()); }