我正在使用GhostScript.NET打印 PDF。当我以 96DPI 打印时,PDF 打印效果很好,但有点模糊。如果我尝试以 600DPI 打印文档,则打印的页面会放大很多。
using GhostScript.NET.Rasterizer;
using System.Drawing.Printing;
PrintDocument doc = new PrintDocument();
doc.PrinterSettings.PrinterName="<printer name>";
doc.PrinterSettings.Copies=(short)1;
GhostScriptRasterizer rasterizer = new GhostScriptRasterizer();
rasterizer.Open("abc.pdf");
//Image page = rasterizer.GetPage(96,96); <-- this one prints ok
Image page = rasterizer.GetPage(600,600);
doc.Graphics.DrawImage(page, new Point());
在查看页面对象时我注意到的一件事是,尽管我通过了 GetPage() 600、600 - 返回的图像的 HorizontalResolution 为 96,VerticalResolution 为 96。
所以我尝试了以下方法:
Bitmap b = new Bitmap(page.Width,page.Height);
b.SetResolution(600,600);
Graphics g = Graphics.FromImage(b);
g.DrawImage(page,0,0);
page = b;
它的 HorizontalResolution 为 600,VerticalResolution 为 600,但这打印的图像更大!
有人可以在这里给建议吗?