Как настроить 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
Вы должны получить результат, к которому стремитесь.
Похоже, этот функционал не был реализован в Втупечкине. Я не могу найти его здесь, где находится большинство параметров страницы.
Я предполагаю, что он забыл реализовать опцию, поэтому, вероятно, лучше всего запросить эту функцию здесь. Или вы также можете добавить функцию самостоятельно.:)