对于一个项目,我们将迁移到Windows。我必须确保HTML到PDF转换器将在64位工作者角色上运行。
由于Pechkin不能作为64位应用程序运行,所以我决定使用Tuespechkin,因为它们应该非常相似,并且都使用wkhtmltopdf将HTML转换为PDF。
现在,我把所有这些都设置好了,但是最终得到的PDF格式有点令人失望。
问题:
- 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).
下面是我用来将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);在这两个问题上的任何帮助都将不胜感激!
发布于 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/
https://stackoverflow.com/questions/29538094
复制相似问题