Печкин в Втепечкин

Для проекта мы переходим на Windows Azure. Я должен убедиться, что конвертер HTML в PDF будет работать на 64-битной рабочей роли.

Так как Печкин не может работать как 64-битное приложение, я решил использовать Втепечкина, потому что они должны быть очень похожими, и оба используют wkhtmltopdf для преобразования HTML в PDF.

Теперь я все это настроил, но полученный PDF разочаровывает.

Проблемы:

  1. Шрифт отображается по-разному. С Печкиным шрифт всегда "острый", где tuespechkin делает его очень жирным. Результаты здесь: http://postimg.org/image/xngqxryn1/

    • Я пытался использовать разные шрифты (даже браузер по умолчанию). Все сделать очень жирным
    • Я пытался использовать разные объектные и глобальные настройки (DPI, Outline, сжатие, назовите его; он никогда не меняется сильно).
  2. Все содержимое выбирается и копируется. Я хотел бы, чтобы это было больше похоже на изображение (которое по умолчанию в Печкин). Любые советы по этому вопросу будут оценены.

Вот код, который я использую для преобразования HTML в PDF:

Печкин, старый:

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:

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);

Любая помощь по любой проблеме будет высоко ценится!

1 ответ

Как вы говорите, я не могу решить проблему. Но IIS можно настроить для запуска 32-разрядных приложений. как это фото:

Таким образом, вы можете запустить Печкин в вашем лазурном. Вы можете увидеть больше в этом. https://codeutil.wordpress.com/2013/09/16/convert-html-to-pdf/

Другие вопросы по тегам