我试图自动填写 pdf 表单,但它不会让我在 pdf 上绘图。所以我创建了一个表格的图像并使用拉绳方法填充它。问题是,即使打印审查在我尝试打印时正确显示文档,我也会得到一个大于纸张尺寸的放大文档。我无法想象为什么。这是我的代码:
private void buttonPrint_Click(object sender, EventArgs e)
{
Image img = panelForm.BackgroundImage;
printDocumentForm.DefaultPageSettings.PaperSize = new PaperSize("A4", img.Width, img.Height);
printPreviewForm.Document = printDocumentForm;
printPreviewForm.ShowDialog();
}
private void printDocumentForm_PrintPage(object sender, PrintPageEventArgs e)
{
Image img = panelForm.BackgroundImage;
Image copy = (Image) img.Clone();
// I've added some drawstring methods here to fill the blanks
// but I removed them in this example to save some space
e.Graphics.DrawImage(copy, new Point(0, 0));
}
预览窗口显示了正确的文档,其中填满了空白。但是当我按下预览窗口上的打印按钮时,我得到了放大的文档......编辑:我应该补充一点,当我用 Paint 打开 .bmp 文件时,我可以正确打印图像。同样的图像在我的项目中显得更大更模糊,没有任何明显的原因。为什么打印机会拉伸我的图像?为什么预览窗口会显示正确的图像尺寸?