首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多次运行TuesPechkin转换器

多次运行TuesPechkin转换器
EN

Stack Overflow用户
提问于 2015-04-29 04:30:41
回答 2查看 4.9K关注 0票数 4

我为我的web应用程序使用了TuesPechkin,并使用VS2013在IIS机上进行了本地测试。用户单击一个按钮,页面的当前HTML将保存为PDF文件,然后通过电子邮件发送出去。此过程将随着站点数据的更改而定期运行。

converter.Convert(document)第一次运行时,它的转换没有问题。然而,每次随后的尝试都会导致进程挂起,并且我需要重新启动VS。

下面是我用来测试的一些默认代码。

代码语言:javascript
复制
public void MakePDF()
{
    var document = new HtmlToPdfDocument
    {
        GlobalSettings =
        {
            ProduceOutline = true,
            DocumentTitle = "Pretty Websites",
            PaperSize = PaperKind.A4, // Implicit conversion to PechkinPaperSize
            Margins =
            {
                All = 1.375,
                Unit = TuesPechkin.Unit.Centimeters
            }
        },
        Objects = {
            new ObjectSettings { HtmlText = "<h1>Pretty Websites</h1><p>This might take a bit to convert!</p>" }
        }
    };

    IConverter converter =
        new ThreadSafeConverter(
            new PdfToolset(
                new Win32EmbeddedDeployment(
                    new TempFolderDeployment())));

    byte[] result = converter.Convert(document);
}

在这个问题上,谁能给我指出正确的方向?到目前为止,我的大多数故障排除都导致了一些关于线程和池化的讨论,但是没有具体的代码解决方案来多次运行TuesPechkin。

EN

回答 2

Stack Overflow用户

发布于 2015-04-29 06:02:25

你试过ThreadSafeConverter吗?StandardConverter仅适用于小型控制台应用程序。

代码语言:javascript
复制
IConverter converter =
    new ThreadSafeConverter(
        new RemotingToolset<PdfToolset>(
            new Win32EmbeddedDeployment(
                new TempFolderDeployment())));

byte[] result = converter.Convert(document);

请注意,您应该将转换器放在某个静态位置,或者作为一个单独的实例(正如前面提到的here)。

票数 3
EN

Stack Overflow用户

发布于 2019-11-11 11:05:58

由于此应用程序在IIS上,可以获得单例转换器,并使用RemotingToolset

代码语言:javascript
复制
var toolSet = new RemotingToolset<PdfToolset>(winAnyCpuEmbeddedDeployment);

//然后

代码语言:javascript
复制
using TuesPechkin.Wkhtmltox.AnyCPU;
...
var converter = PDFHelper.Factory.GetConverter();
var result = converter.Convert(This.Document);

参考:https://github.com/tloy1966/TuesPechkin

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29929329

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档