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());
        }