2015-04-09 11 views
1

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

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

Теперь, я получил это все настроено, но полученный PDF-файл выглядит несколько разочаровывающим.

Проблемы:

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

    • Я попытался с помощью различных шрифтов (даже браузер по умолчанию). Все визуализировать очень смелые
    • Я пробовал использовать различные Object- и Globalsettings (DPI, контур, сжатие, назовите его, он никогда не меняется).
  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); 

Любая помощь по любой проблеме был бы очень признателен!

+0

Эта проблема рендеринга в Azure? Или всегда? – Nicholas

+0

Привет @ Николас, это всегда. Я исправил первую проблему, удалив все «@media» css. – user480355

ответ

0

Как вы говорите, я не могу решить проблему. Но IIS может быть настроен на запуск 32-разрядных приложений. как это фото: http://i.stack.imgur.com/6l6Es.png

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

+0

Хотя это теоретически может ответить на вопрос, [было бы предпочтительнее] (http://meta.stackoverflow.com/q/8259) включить сюда основные части ответа и предоставить ссылку для справки. –

 Смежные вопросы

  • Нет связанных вопросов^_^