无法使用 PrintDocument 打印页面时设置 Graphics.SmoothingMode



我正在使用PrintDocument打印PDF,我注意到图形的质量非常差(见图片)。因此,我尝试将图形对象的平滑模式设置为抗锯齿,但是在调试中单步执行时,平滑模式永远不会从无更改。我对图形对象很陌生,所以我想知道是否有人知道为什么我无法设置平滑模式?或者为什么平滑模式默认为无?

图像:

使用我的应用生成

使用 Adobe Acrobat 生成

法典:

printDocument = new PrintDocument();
printDocument.PrintPage += OnPrintPage;
private void OnPrintPage(object sender, PrintPageEventArgs e)
{
   e.Graphics.SmoothingMode = SmoothingMode.AntiAlias; //<-- Doesn't do anything
   // Print document
}
您必须

首先放置平滑模式:

e.Graphics.SmoothingMode = SmoothingMode.AntiAlias;
e.Graphics.DrawString/DrawImage

您之后使用图形执行操作。我在直接加载PDF时遇到了同样的问题。
我目前的解决方案是加载PDF文件,将其转换为TIFF并在打印预览中显示TIFF帧,这是我的情况。

最新更新