【发布时间】:2023-03-25 13:39:01
【问题描述】:
我正在使用 CEFSharp(C# 包装器为 CEF)将网页打印为 PDF,如下所示:
browser.PrintToPdfAsync(@"C:\out.pdf", new PdfPrintSettings
{
BackgroundsEnabled = true,
HeaderFooterEnabled = false,
Landscape = false,
MarginType = CefPdfPrintMarginType.Custom,
MarginBottom = 0,
MarginTop = 0,
MarginLeft = 0,
MarginRight = 0,
PageWidth = 210000,
PageHeight = 297000
});
但是,与在“真实”Chrome 应用程序中手动打印相同页面相比,生成的 PDF 非常模糊。
我做了一个比较截图来显示差异:
(以全分辨率打开以注意差异)
基本上,如您所见,CEF 似乎比原生 Chrome 打印功能更多地压缩图像和其他非矢量图形。
理想情况下,我想完全禁用压缩,或者至少让它更接近原生 Chrome 级别。能做到吗?
还相关:有没有办法以更高分辨率打印? PdfPrintSettings 类只接受以微米为单位的宽度和高度测量值,但我看不到任何设置渲染定义 (DPI) 的方法...有可能吗?
【问题讨论】:
标签: c# google-chrome chromium-embedded cefsharp