ほとんどの人が常にスムーズな設定を得ようとしていることは知っていますが、今回はバーコードを印刷しているので、可能な限り鮮明な設定で画像を印刷するように e.Graphics に指示する方法を見つける必要があります。私の現在の設定は、これまでにテストできた最高のものを生成することに注意してください。ただし、ファイルに出力して 500% に拡大すると、まだ少し滑らかであることがわかります。
これまでの私のコードは次のとおりです。
private void printDocument1_PrintPage_1(object sender, PrintPageEventArgs e)
{
double pdf417_widthDPI = Math.Round(((double)picpdf417.Image.Width / (double)288) * 2, 2);
double pdf417_heightDPI = Math.Round(((double)picpdf417.Image.Height / (double)288) * 2, 2);
int newWidth = (int)Math.Round(pdf417_widthDPI * 96);
int newHeight = (int)Math.Round(pdf417_heightDPI * 96);
Rectangle pdf417_location_size = new Rectangle(0, 100, newWidth, newHeight);
e.Graphics.CompositingQuality = CompositingQuality.HighSpeed;
e.Graphics.SmoothingMode = SmoothingMode.None;
e.Graphics.InterpolationMode = InterpolationMode.Low;
e.Graphics.PixelOffsetMode = PixelOffsetMode.None;
e.Graphics.DrawImage(picpdf417.Image, pdf417_location_size);
}