Для проекта мы переходим на Windows Azure. Я должен убедиться, что конвертер HTML в PDF будет работать на 64-разрядной рабочей роли.Pechkin to Tuesdaypechkin
Поскольку Печкин не может работать как 64-битное приложение, я решил использовать Втпечкин, потому что они должны быть очень похожими, и оба используют wkhtmltopdf для преобразования HTML в PDF.
Теперь, я получил это все настроено, но полученный PDF-файл выглядит несколько разочаровывающим.
Проблемы:
Шрифт оказывается по-другому. С Печкином шрифт всегда «острый», где тусепкин делает его очень смелым. Результаты здесь: http://postimg.org/image/xngqxryn1/
- Я попытался с помощью различных шрифтов (даже браузер по умолчанию). Все визуализировать очень смелые
- Я пробовал использовать различные Object- и Globalsettings (DPI, контур, сжатие, назовите его, он никогда не меняется).
Все содержимое можно выбрать и скопировать. Я бы хотел, чтобы это было больше похоже на изображение (которое по умолчанию в печкине). Любые советы по этому вопросу будут оценены.
Вот код, я использую для преобразования 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);
Любая помощь по любой проблеме был бы очень признателен!
Эта проблема рендеринга в Azure? Или всегда? – Nicholas
Привет @ Николас, это всегда. Я исправил первую проблему, удалив все «@media» css. – user480355