CEF Sharp:打印分辨率
CEF Sharp: printing resolution
我正在使用 CEFSharp
(CEF
的 C#
包装器)将网页打印为 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
});
但是,问题是生成的 PDF 与在 "real" Chrome 应用程序中手动打印同一页相比非常模糊。
我做了一个比较截图来显示不同之处:
(以全分辨率打开它以注意差异)
基本上,如您所见,CEF 似乎比原生 Chrome 打印功能更能压缩图像和其他非矢量图形。
理想情况下,我想完全禁用压缩,或者至少让它更接近原生 Chrome 水平。可以吗?
也相关:有没有办法以更高分辨率打印? PdfPrintSettings class 只接受以微米为单位的宽度和高度测量值,但我看不到任何设置渲染定义 (DPI) 的方法...这可能吗?
我的拉取请求将 PDF 打印添加到 CEF。作为预览打印对我来说似乎已经足够了。它允许编写更少的代码并实现更少的 PDF 打印组件。
它需要一些调试。为此,您很可能需要从源代码构建 CEF:
https://bitbucket.org/chromiumembedded/cef/wiki/BranchesAndBuilding
无法设置 DPI,因为 Chromium 本身在其 PDF 打印对话框中没有这样的设置。尽管您可以尝试在此处设置不同的 DPI 选项:
https://bitbucket.org/chromiumembedded/cef/src/6006f77bd9e030e9b456e180798c7c13d19cae08/libcef/browser/printing/print_view_manager.cc?at=master&fileviewer=file-view-default#print_view_manager.cc-53 但 Chromium 可能会忽略这些设置。
我正在使用 CEFSharp
(CEF
的 C#
包装器)将网页打印为 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
});
但是,问题是生成的 PDF 与在 "real" Chrome 应用程序中手动打印同一页相比非常模糊。
我做了一个比较截图来显示不同之处:
(以全分辨率打开它以注意差异)
基本上,如您所见,CEF 似乎比原生 Chrome 打印功能更能压缩图像和其他非矢量图形。
理想情况下,我想完全禁用压缩,或者至少让它更接近原生 Chrome 水平。可以吗?
也相关:有没有办法以更高分辨率打印? PdfPrintSettings class 只接受以微米为单位的宽度和高度测量值,但我看不到任何设置渲染定义 (DPI) 的方法...这可能吗?
我的拉取请求将 PDF 打印添加到 CEF。作为预览打印对我来说似乎已经足够了。它允许编写更少的代码并实现更少的 PDF 打印组件。
它需要一些调试。为此,您很可能需要从源代码构建 CEF: https://bitbucket.org/chromiumembedded/cef/wiki/BranchesAndBuilding
无法设置 DPI,因为 Chromium 本身在其 PDF 打印对话框中没有这样的设置。尽管您可以尝试在此处设置不同的 DPI 选项: https://bitbucket.org/chromiumembedded/cef/src/6006f77bd9e030e9b456e180798c7c13d19cae08/libcef/browser/printing/print_view_manager.cc?at=master&fileviewer=file-view-default#print_view_manager.cc-53 但 Chromium 可能会忽略这些设置。