Beispiel #1
0
        public override void Process(string flag, StringBuilder builder)
        {
            builder.Append(" toc");

            if (TocHeaderText.HasValue())
            {
                builder.AppendFormat(" --toc-header-text \"{0}\"", TocHeaderText.Replace("\"", "\\\""));
            }

            if (DisableDottedLines)
            {
                builder.Append(" --disable-dotted-lines");
            }

            if (DisableTocLinks)
            {
                builder.Append(" --disable-toc-links");
            }

            if (TocLevelIndendation.HasValue())
            {
                builder.AppendFormat(" --toc-level-indentation {0}", TocLevelIndendation);
            }

            if (TocTextSizeShrink.HasValue)
            {
                builder.AppendFormat(" --toc-text-size-shrink {0}", TocTextSizeShrink.Value);
            }

            base.Process(flag, builder);
        }
Beispiel #2
0
        private string ComposeArgs(PdfSettings pdfSettings)
        {
            var toolArgsSb = new StringBuilder();

            if (Quiet)
            {
                toolArgsSb.Append(" -q ");
            }
            //global options first
            if (Orientation != PageOrientation.Default)
            {
                toolArgsSb.AppendFormat(" -O {0} ", Orientation.ToString());
            }
            if (Size != PageSize.Default)
            {
                toolArgsSb.AppendFormat(" -s {0} ", Size.ToString());
            }
            if (LowQuality)
            {
                toolArgsSb.Append(" -l ");
            }
            if (Grayscale)
            {
                toolArgsSb.Append(" -g ");
            }
            if (Margins != null)
            {
                if (Margins.Top != null)
                {
                    toolArgsSb.AppendFormat(CultureInfo.InvariantCulture, " -T {0}", Margins.Top);
                }
                if (Margins.Bottom != null)
                {
                    toolArgsSb.AppendFormat(CultureInfo.InvariantCulture, " -B {0}", Margins.Bottom);
                }
                if (Margins.Left != null)
                {
                    toolArgsSb.AppendFormat(CultureInfo.InvariantCulture, " -L {0}", Margins.Left);
                }
                if (Margins.Right != null)
                {
                    toolArgsSb.AppendFormat(CultureInfo.InvariantCulture, " -R {0}", Margins.Right);
                }
            }
            if (PageWidth != null)
            {
                toolArgsSb.AppendFormat(CultureInfo.InvariantCulture, " --page-width {0}", PageWidth);
            }
            if (PageHeight != null)
            {
                toolArgsSb.AppendFormat(CultureInfo.InvariantCulture, " --page-height {0}", PageHeight);
            }

            if (pdfSettings.HeaderFilePath != null)
            {
                toolArgsSb.AppendFormat(" --header-html \"{0}\"", pdfSettings.HeaderFilePath);
            }
            if (pdfSettings.FooterFilePath != null)
            {
                toolArgsSb.AppendFormat(" --footer-html \"{0}\"", pdfSettings.FooterFilePath);
            }

            if (!String.IsNullOrEmpty(CustomWkHtmlArgs))
            {
                toolArgsSb.AppendFormat(" {0} ", CustomWkHtmlArgs);
            }
            // -- end global options

            if (pdfSettings.CoverFilePath != null)
            {
                toolArgsSb.AppendFormat(" cover \"{0}\" ", pdfSettings.CoverFilePath);
                if (!String.IsNullOrEmpty(CustomWkHtmlCoverArgs))
                {
                    toolArgsSb.AppendFormat(" {0} ", CustomWkHtmlCoverArgs);
                }
            }

            if (GenerateToc)
            {
                toolArgsSb.Append(" toc ");
                if (!String.IsNullOrEmpty(TocHeaderText))
                {
                    toolArgsSb.AppendFormat(" --toc-header-text \"{0}\"", TocHeaderText.Replace("\"", "\\\""));
                }
                if (!String.IsNullOrEmpty(CustomWkHtmlTocArgs))
                {
                    toolArgsSb.AppendFormat(" {0} ", CustomWkHtmlTocArgs);
                }
            }

            foreach (var inputFile in pdfSettings.InputFiles)
            {
                toolArgsSb.AppendFormat(" \"{0}\" ", inputFile.Input);

                var customPageArgs = inputFile.CustomWkHtmlPageArgs ?? CustomWkHtmlPageArgs;
                if (!String.IsNullOrEmpty(customPageArgs))
                {
                    toolArgsSb.AppendFormat(" {0} ", customPageArgs);
                }

                if (inputFile.HeaderFilePath != null)
                {
                    toolArgsSb.AppendFormat(" --header-html \"{0}\"", inputFile.HeaderFilePath);
                }
                if (inputFile.FooterFilePath != null)
                {
                    toolArgsSb.AppendFormat(" --footer-html \"{0}\"", inputFile.FooterFilePath);
                }
                if (Zoom != 1)
                {
                    toolArgsSb.AppendFormat(CultureInfo.InvariantCulture, " --zoom {0} ", Zoom);
                }
            }

            toolArgsSb.AppendFormat(" \"{0}\" ", pdfSettings.OutputFile);
            return(toolArgsSb.ToString());
        }