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));
}
プレビュー ウィンドウには、空白が埋められた正しいドキュメントが表示されます。しかし、プレビュー ウィンドウで印刷ボタンを押すと、拡大されたドキュメントが表示されます... 編集: .bmp ファイルをペイントで開いたときに、画像を正しく印刷できることを追加する必要があります。私のプロジェクトでは、明らかな理由もなく、同じ画像が大きくなり、ぼやけて表示されます。プリンターが画像を引き伸ばすのはなぜですか? また、プレビュー ウィンドウに正しいサイズの画像が表示されるのはなぜですか?