Hallo !
Ich verwende LL14 und C# (.NET 2.0). Nun möchte ich eine große .ll Datei drucken. Gewisse Seiten dieser
LL Datei sollen auf einen anderen Druckerschacht gedruckt werden als die anderen.
Dazu habe ich in “UserValue” der PreviewPage einen String reingeschrieben, sodass ich weiss welche Seite wohin gedruckt werden soll.
Nun erzeuge ich ein PrintDocument und starte so den Ausdruck der .LL Dateien:
PrintDocument pd = new PrintDocument();
pd.PrinterSettings = m_psLetter;
pd.DocumentName = strPrintJobName;
pd.QueryPageSettings += OnQueryPageSettings;
pd.PrintPage += OnPrintPage;
pd.Print();
Meine OnQueryPageSettings sieht so aus:
String strUserValue = ((PreviewPage)m_pf[m_iPrintPage-1]).UserValue;
switch(strUserValue)
{
case “Anschreiben”:
qpsea.PageSettings = new PageSettings(m_psLetter);
break;
case "Zertifikat":
qpsea.PageSettings = new PageSettings(m_psCertficate);
break;
default:
qpsea.PageSettings = new PageSettings(m_psReport);
break;
}
die Variablen m_psLetter, Report und Certificate beinhalten die Druckeinstellungen für diese Seiten.
Es sind die Schächte in diesen Variablen korrekt eingestellt.
Meine OnPrintPage sieht nun so aus:
void OnPrintPage(Object obj, PrintPageEventArgs ppea)
{
RECT r = new RECT();
r.left = 0;
r.top = 0;
Single sWidth = (ppea.Graphics.VisibleClipBounds.Width) * ppea.Graphics.DpiX/100;
Single sHeight = (ppea.Graphics.VisibleClipBounds.Height) * ppea.Graphics.DpiY/100;
r.right = Convert.ToInt32(sWidth);
r.bottom = Convert.ToInt32(sHeight);
m_ll.Core.LlStgsysDrawPage(m_iPreviewFile, ppea.Graphics.GetHdc(), 0, false, r, m_iPrintPage, false);
ppea.HasMorePages = m_iPrintPage < m_pf.Count;
m_iPrintPage++;
}
Nun wird aber immer alles auf die Druckeinstellungen von m_psLetter gedruckt, also alles auf diesen
Schacht. OnQueryPageSettings wird korrekt aufgerufen und es werden die Schächte auch umgesetzt, aber
beim Ausdruck wird immer auf den Schacht von m_psLetter gedruckt
Hat jemand eine Idee für eine Lösung?
Oder sonst einen Lösungsweg für mich? Bin echt am verzweifeln, kämpfe schon Tage lang rum jettz
Vielen Dank für jede Hilfe
Gruß
Thomas