Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Stampanje-nece da stampa od strane koju mu ja stavim nego stampa sve

[es] :: .NET :: Stampanje-nece da stampa od strane koju mu ja stavim nego stampa sve

[ Pregleda: 1213 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

drgajic12
Beograd

Član broj: 51770
Poruke: 165
*.ptt.rs.



+2 Profil

icon Stampanje-nece da stampa od strane koju mu ja stavim nego stampa sve20.05.2010. u 10:38 - pre 169 meseci
Hocu da omogucim stampanje one stranice koju stavim u printDialog-u u Pages.Po ovom kodu ispod,kad stavim broj neke strane u printDialog-u u Pages,opet mi stampa sve strane kao da sam stavio na All !?

Kod mi je sledeci:

printDialog1.AllowSomePages = true;
printDialog1.Document=printDocument1;

int lines;
string[] lines;

//BeginPrint dogadjaj
private void printDocument1_BeginPrint(object sender, System.Drawing.Printing.PrintEventArgs e)
{
char[] trim = { '\n' };
lines = richTextBox1.Text.Split(trim);
}

//PrintPage dogadjaj
private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
int x = 50;
int y = 150;

while(linesprinted<lines.Length)
{
e.Graphics.DrawString(lines[linesprinted++], new Font("Arial", 10), Brushes.Black, x, y);
y += 15;
if (y >= e.MarginBounds.Bottom)
{
e.HasMorePages = true;
return;
}
}
linesprinted = 0;
e.HasMorePages = false;
}

private void dugmeIstampaj_Click(object sender, EventArgs e)
{
if (printDialog1.ShowDialog() == DialogResult.OK)
{
printDocument1.Print();
}
}

U printPreviewDialog-u koji je vezan za ovaj printDocument lepo mi prikaze sve stranice koje sam napravio ovim kodom,ali kad unesem u printDialog-u u Pages samo npr. DRUGU STRANU,on mi opet stampa sve od prve do zadnje.
Sta raditi?
 
Odgovor na temu

ravni

Član broj: 8894
Poruke: 373



+15 Profil

icon Re: Stampanje-nece da stampa od strane koju mu ja stavim nego stampa sve20.05.2010. u 12:55 - pre 169 meseci
moras sam to iskontrolisati. napravi proveru pre poziva e.graphics.drawstring da li je trenutna stranica >= printdocument.printersettings.frompage i trenutna stranica <= printdocument.printersettings.topage
 
Odgovor na temu

drgajic12
Beograd

Član broj: 51770
Poruke: 165
*.ptt.rs.



+2 Profil

icon Re: Stampanje-nece da stampa od strane koju mu ja stavim nego stampa sve21.05.2010. u 07:49 - pre 169 meseci
Ako moze malo detaljnije,ne znam kako da dobijem trenutnu stranu u uslovu koji si rekao da stavim.
I jos jedna stvar mi je bitna koja ne mora da bude vezana za printdialog: gde da ubacim printdocument.printersettings.frompage i printdocument.printersettings.topage,da im stavim vrednosti koje ja hocu u kodu da mi stampa od FROMPAGE do TOPAGE.Pokusao sam da to svojstvo podesim na nekoliko mesta u dogadjajima stampe i nista se ne desava,opet mi stampa od prve do zadnje?? Unapred hvala


[Ovu poruku je menjao drgajic12 dana 21.05.2010. u 09:02 GMT+1]

[Ovu poruku je menjao drgajic12 dana 21.05.2010. u 09:05 GMT+1]
 
Odgovor na temu

ravni

Član broj: 8894
Poruke: 373



+15 Profil

icon Re: Stampanje-nece da stampa od strane koju mu ja stavim nego stampa sve21.05.2010. u 13:47 - pre 169 meseci
malo sam lupio u proslom odgovoru. sve sto bi dobio sa tom proverom je da bi ti strane van opsega bile prazne. cini se da si sve uradio kako treba - ne znam zasto ti ne radi...
 
Odgovor na temu

ravni

Član broj: 8894
Poruke: 373



+15 Profil

icon Re: Stampanje-nece da stampa od strane koju mu ja stavim nego stampa sve21.05.2010. u 17:13 - pre 169 meseci
lolz, izgleda da ipak moras sam...
probaj ovako, pa javi sta je bilo
Code:
//PrintPage dogadjaj
    private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
    {
      _CurrentPage++;

      if (printDocument1.PrinterSettings.PrintRange == PrintRange.AllPages)
      {
        int x = 50;
        int y = 150;

        while (linesPrinted < lines.Length)
        {
          e.Graphics.DrawString(lines[linesPrinted++], new Font("Arial", 10), Brushes.Black, x, y);
          y += 15;
          if (y >= e.MarginBounds.Bottom)
          {
            e.HasMorePages = true;
            return;
          }
        }

        linesPrinted = 0;
        e.HasMorePages = false;
      }
      else if (printDocument1.PrinterSettings.PrintRange == PrintRange.SomePages)
      {
        int x = 50;
        int y = 150;

        while (linesPrinted < lines.Length)
        {
          string toPrint = lines[linesPrinted++];
          if (_CurrentPage >= printDocument1.PrinterSettings.FromPage &&
              _CurrentPage <= printDocument1.PrinterSettings.ToPage)
            e.Graphics.DrawString(toPrint, _PrintFont, Brushes.Black, x, y);

          y += 15;
          if (y >= e.MarginBounds.Bottom)
          {
            if (_CurrentPage < printDocument1.PrinterSettings.FromPage)
            {
              x = 50;
              y = 150;
              _CurrentPage++;
            }
            else
            {
              e.HasMorePages = _CurrentPage < printDocument1.PrinterSettings.ToPage;
              return;
            }
          }
        }

        e.HasMorePages = false;
      }
    }

    private Font _PrintFont = new Font("Arial", 10);
    private int _CurrentPage = 0;
 
Odgovor na temu

[es] :: .NET :: Stampanje-nece da stampa od strane koju mu ja stavim nego stampa sve

[ Pregleda: 1213 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.