1

我正在使用TuesPechkin(wkhtmltopdf 的 C# 包装器)并让它从 HTML 生成 PDF 文件。

但是,我想设置--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);
    }
}
4

2 回答 2

1

--disable-smart-shrinking选项在 API 中不存在——嗯,它确实存在,但它的形式是相反的兄弟:--enable-smart-shrinking.

WebSettings.EnableIntelligentShrinking 如 TuesPechkin 源代码所示,该属性在 TuesPechkin API 中可用。它在 TuesPechkin 中以这种方式命名,因为这就是它在 wkhtmltopdf 的 API 中的命名方式,如 wkhtmltopdf 源代码所示

您还可以在此处看到默认值为 true(来自 wkhtmltopdf),因此如果您设置WebSettings.EnableIntelligentShrinking为,false您应该得到您想要的结果。

于 2015-09-25T21:11:24.987 回答
0

似乎这个功能还没有在 Tuesspechkin 中实现。我在这里找不到它,大多数页面选项都位于该位置。

我猜他忘了实现这个选项,所以最好在这里请求这个功能。或者您也可以自己添加该功能。:)

于 2015-06-21T06:06:52.643 回答