PrintableArea sehr klein ;/
-
void myprinter_PrintPage(object sender, PrintPageEventArgs e) { Debug.WriteLine(e.PageSettings); Debug.WriteLine(e.PageSettings.PrintableArea); }
...liefert mir für e.PageSettings:
PageSettings: Color=True,
Landscape=False,
Margins=[Margins Left=100 Right=100 Top=100 Bottom=100],
PaperSize=[PaperSize A4 Kind=A4 Height=1169 Width=827],
PaperSource=[PaperSource Automatisch auswählen Kind=FormSource],
PrinterResolution=[PrinterResolution X=4000 Y=4000]...für e.PageSettings.PrintableArea:
{X=0,Y=0,Width=826,4,Height=1169,3}Wieso ist bei ner Drucker-Auflösung von 4000x4000 (Adobe PDF Drucker) die PrintableArea und PaperSize so klein?
Wie kann ich höher auflösend drucken? Derzeit füllt nen 700 Pixel breites Bild die Seite schon fast aus. Muss beim e.Graphics Dingen irgendwas einstellen oder so?
-
geeky schrieb:
Wieso ist bei ner Drucker-Auflösung von 4000x4000 (Adobe PDF Drucker) die PrintableArea und PaperSize so klein?
Weil die Drucker-Auflösung das Papier nicht größer macht. Die von dir genannten Werte sind nun mal die Abmessungen von A4 in 1/100 Zoll. Wobei die PrintableArea bei dir sogar in der Höhe um 0,3 also 3/1000 Zoll größer als das Papier ist, d. H. es würde über den Rand gedruckt werden. Der etwas schmalere Wert in der Breite sagt aus, das der Drucker nicht die volle Breite nutzen kann.
-
Und die 4000 sind dpi.
Was dpi ist kannst Du dir sicher selbst suchen oder?
Hinweis: Punkte/
-
Gut, dann vergesse ich mal PrintableArea und PaperSize wenn das fix die Abmessungen in 1/100 Zoll sind - Ich hatte gedacht das wäre die Anzahl der Pixel bei bestimmten Auflösung
Nur: Wie kann ich denn 4000dpi ausnutzen? Bei 4000 Punkten pro Zoll dürfte e.Graphics.DrawImage() mit ner 700 Pixel breiten Bitmap die Seitenbreite doch noch nicht komplett ausfüllen? Gibt es da irgendwie ein Mapping zwischen dpi und Pixeln?
Edit: Ok, lies sich einfach durch Bitmap.SetResolution() lösen