Как настроить PageOptions в ВтПечкин

Я использую ВтПечкин (оболочку C# из wkhtmltopdf) и создаю PDF-файлы из HTML.

Тем не менее, я хотел бы установить --disable-smart-shrinking опция, которая указана в документации wkhtmltopdf как PageOption

Как я могу это сделать?

public sealed class PdfConverter
{
    static readonly PdfConverter instance = new PdfConverter();
    private IConverter converter;

    static PdfConverter()
    {
    }

    PdfConverter()
    {
        // Keep the converter somewhere static, or as a singleton instance! Do NOT run this code more than once in the application lifecycle!
        this.converter = new ThreadSafeConverter( new RemotingToolset<PdfToolset>( new Win32EmbeddedDeployment( new TempFolderDeployment())));
    }

    public static PdfConverter Instance
    {
        get { return instance; }
    }

    public byte[] ConvertHtmlToPdf(string html)
    {
        var document = new HtmlToPdfDocument
        {
            Objects = { new ObjectSettings { HtmlText = html } }

            // Where are PageOptions?  Thats where --disable-smart-shrinking is
        };

        return converter.Convert(document);
    }
}

2 ответа

Решение

--disable-smart-shrinking опция не существует в API - ну, в некотором роде, но в форме противоположного брата: --enable-smart-shrinking,

Это свойство доступно в интерфейсе ВтПечкин как WebSettings.EnableIntelligentShrinking как видно из исходного кода ВтПечкина. Он был назван таким образом в Вт.Печкине, потому что именно так он назван в API wkhtmltopdf, как видно из исходного кода wkhtmltopdf.

Там также видно, что значением по умолчанию является true (из wkhtmltopdf), поэтому, если вы установите WebSettings.EnableIntelligentShrinking в false Вы должны получить результат, к которому стремитесь.

Похоже, этот функционал не был реализован в Втупечкине. Я не могу найти его здесь, где находится большинство параметров страницы.

Я предполагаю, что он забыл реализовать опцию, поэтому, вероятно, лучше всего запросить эту функцию здесь. Или вы также можете добавить функцию самостоятельно.:)

Другие вопросы по тегам