/// <summary> /// Creates a new instance of <see cref="HtmlToImage"/> class. /// </summary> /// <param name="options">Options.</param> /// <param name="loggerFactory">Logger factory</param> public HtmlToImage(HtmlToImageOptions options, ILoggerFactory loggerFactory) { this.logger = loggerFactory.CreateLogger <HtmlToImage>(); this.loggerFactory = loggerFactory; this.exectuionDirectory = options.ExectuionDirectory ?? new TempExectuionDirectory(); this.workdir = Path.Combine(exectuionDirectory.Directory, Path.GetRandomFileName() + ".dir"); this.depencencyLogger = options.DependencyLogger; this.executionTimeout = options.ExecutionTimeout; if (!Directory.Exists(workdir)) { Directory.CreateDirectory(workdir); } if (Environment.Is64BitProcess) { resourceApplicationName = "SolidCompany.Wrappers.WkHtmlToImage.Resources.wkhtmltoimage-x64.zip"; } else { resourceApplicationName = "SolidCompany.Wrappers.WkHtmlToImage.Resources.wkhtmltoimage-x86.zip"; } this.wkhtmlToImpageExePath = Path.Combine(exectuionDirectory.Directory, ApplicationName); this.initializeTask = InitializeAsync(); }
public ImageCreator(ILogger <ImageCreator> logger, IDepencencyLogger depencencyLogger, string wkhtmlToImpageExePath, string workdir, TimeSpan executionTimeout) { this.logger = logger; this.depencencyLogger = depencencyLogger; this.wkhtmlToImpageExePath = wkhtmlToImpageExePath; this.workdir = workdir; this.executionTimeout = executionTimeout; }
/// <summary> /// Creates a new instance of <see cref="HtmlToImageOptions"/>. /// </summary> public HtmlToImageOptions() { ExectuionDirectory = new TempExectuionDirectory(); DependencyLogger = Logging.Abstractions.DependencyLogger.Empty; ExecutionTimeout = TimeSpan.FromSeconds(30); }