3
我試圖在C#中打印圖像。它是由Adobe Acrobat從PDF創建的完整8.5x11大小的tiff。當我用C#使用下面的代碼進行打印時,它會在垂直方向上打印正確,但不是水平方向,它會在大約半英寸處推出。我將圖像的原點設置爲0,0。我錯過了什麼嗎?如何在C中打印完整大小的圖像#
private FileInfo _sourceFile;
public void Print(FileInfo doc, string printer, int tray)
{
_sourceFile = doc;
PrintDocument pd = new PrintDocument();
pd.PrinterSettings.PrinterName = printer;
pd.DocumentName = _sourceFile.FullName;
using (Image img = Image.FromFile(_sourceFile.FullName)) {
if (img.Width > img.Height) {
pd.DefaultPageSettings.Landscape = true;
}
}
pd.PrintPage += PrintPage;
foreach (PaperSource ps in pd.PrinterSettings.PaperSources) {
if (ps.RawKind == tray) {
pd.DefaultPageSettings.PaperSource = ps;
}
}
pd.Print();
}
private void PrintPage(object o, PrintPageEventArgs e)
{
using (System.Drawing.Image img = System.Drawing.Image.FromFile(_sourceFile.FullName)) {
Point loc = new Point(0, 0);
e.Graphics.DrawImage(img, loc);
}
}
不幸的是,這並沒有做任何改動。與之前的工作方式完全相同... – jle
Jle我會檢查這一點我不知道是否有其他的東西,我沒有在你的代碼中看到..這個代碼應該工作..我會明天再次檢查並在我的結尾再次測試.. – MethodMan
我不知道爲什麼我必須設置它。圖像正好是8.5乘11,打印時看起來完全正確,但移動了大約半英寸。我不應該調整圖像的大小以適應它(使用繪圖的超負荷) – jle