首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Pechkin to Tuespechkin

Pechkin to Tuespechkin
EN

Stack Overflow用户
提问于 2015-04-09 12:08:26
回答 1查看 5.1K关注 0票数 1

对于一个项目,我们将迁移到Windows。我必须确保HTML到PDF转换器将在64位工作者角色上运行。

由于Pechkin不能作为64位应用程序运行,所以我决定使用Tuespechkin,因为它们应该非常相似,并且都使用wkhtmltopdf将HTML转换为PDF。

现在,我把所有这些都设置好了,但是最终得到的PDF格式有点令人失望。

问题:

  1. 字体呈现方式不同。对于Pechkin,字体总是“锋利”的,而tuespechkin使它变得非常大胆。结果:http://postimg.org/image/xngqxryn1/
代码语言:javascript
复制
- I tried using different fonts (even browser default). All render very bold
- I tried using different Object- and Globalsettings (DPI, Outline, compression, name it; it never changes much).

  1. 所有内容都是可选择和可复制的。我希望它更像一个图像(这是默认的pechkin)。如对此有任何建议,将不胜感激。

下面是我用来将HTML转换成PDF的代码:

佩奇金,老:

代码语言:javascript
复制
var documentConfig = new ObjectConfig()
            .SetAllowLocalContent(true)
            .SetLoadImages(true)
            .SetRunJavascript(true)
            .SetPrintBackground(true)
            .SetRenderDelay(15000);

var globalConfig = new GlobalConfig()
            .SetMargins(new Margins(50, 50, 100, 100))
            .SetDocumentTitle(company.Name)
            .SetPaperSize(PaperKind.A4);

var pechkin = new SynchronizedPechkin(globalConfig);
var buffer = pechkin.Convert(documentConfig, parsedHtml);

Tuespechkin:

代码语言:javascript
复制
var converter = new ThreadSafeConverter(
                            //new ImageToolset(
                            new PdfToolset(
                                new Win64EmbeddedDeployment(
                                    new TempFolderDeployment()
                                )
                            )
                        );

        var documentConfig = new ObjectSettings {
            WebSettings = new WebSettings {
                EnableJavascript = true,
                PrintBackground = true, 
                PrintMediaType = true
            },
            LoadSettings = new LoadSettings {
                BlockLocalFileAccess = false,
                RenderDelay = 15000, 
            },

            HtmlText = parsedHtml
        };

        var globalConfig = new GlobalSettings();
        globalConfig.Margins = new MarginSettings(2.645833333333, 1.322916666667, 2.645833333333, 1.322916666667);
        globalConfig.Margins.Unit = Unit.Centimeters;
        globalConfig.DocumentTitle = company.Name;
        globalConfig.PaperSize = PaperKind.A4;
        globalConfig.UseCompression = false;
        globalConfig.DPI = 1200;


        var doc = new HtmlToPdfDocument {
            Objects = {
                 documentConfig 
             },
            GlobalSettings = globalConfig
        };

var buffer = converter.Convert(doc);

在这两个问题上的任何帮助都将不胜感激!

EN

回答 1

Stack Overflow用户

发布于 2015-11-10 07:07:47

就像你说的,我不能解决这个问题。但是IIS可以设置为运行32位应用程序。如图所示:http://i.stack.imgur.com/6l6Es.png

这样你就可以在你的Azure里运行Pechkin了。你可以在这里看到更多。https://codeutil.wordpress.com/2013/09/16/convert-html-to-pdf/

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

https://stackoverflow.com/questions/29538094

复制
相关文章

相似问题

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