Printen op een Samsung clp-320 werkt niet goed

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • pwouters
  • Registratie: Februari 2005
  • Laatst online: 21-03-2019
Ik heb op moment twee printers een HP P1005 en een Samsung CLP-320 printer die ik beiden wil gebruiken voor een programma.

Onderstaand routine print de tekst van een tekstbox( txtUitvoer) uit. Werkt prima op de HP P1005 maar niet op de Samsung. Wanneer ik een intern font kies van de Samsung bv Courier SWC werkt het wel maar niet courier new. Ik heb nog geprobeerd met UPD2 printer driver van Samsung maar dat geeft het zelfde resultaat. Ik heb ook een testje gedaan met een nieuw ttf font gedownload en geinstalleerd. HP werkt , Samsung niet.

Heeft iemand ervaring hiermee?

Visual Basic .NET:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Private Sub PrintDocument1_PrintPage(sender As Object, e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage

    Dim yPos As Single = 0
    Dim curLineCount As Integer = 0
    Dim line As String = Nothing

    g_printFont = New Font([b]"Courier New[/b]", 10, FontStyle.Regular)
    ' Print each line of the file. 
    While curLineCount < g_linesPerPage
        If (txtUitvoer.Lines.Length - 1) < g_totalLineCount Then
            line = Nothing
            Exit While
        End If
        line = txtUitvoer.Lines(g_totalLineCount)
        yPos = g_TopMarge + curLineCount * g_printFontHeight
        e.Graphics.DrawString(line, g_printFont, Brushes.Black, g_LeftMarge, yPos, New StringFormat())
        curLineCount += 1
        g_totalLineCount += 1
    End While

    ' If more lines exist, print another page. 
    If (line IsNot Nothing) Then
        e.HasMorePages = True
        g_prtPage += 1
    Else
        e.HasMorePages = False
    End If
End Sub

[ Voor 0% gewijzigd door pwouters op 23-10-2014 11:59 . Reden: advies voor code stuk ]


Acties:
  • 0 Henk 'm!

  • Tribits
  • Registratie: Augustus 2011
  • Laatst online: 25-07 15:49

Tribits

Onkruid vergaat niet

Waarschijnlijk niet het antwoord waar je naar op zoek was maar de kans dat je een passend antwoord krijgt is een stuk groter als je (bij voorkeur in de topic titel) aangeeft in welke programmeertaal je ontwikkelt. Daarnaast is het aan te raden om je code tussen code tags te zetten en zo mogelijk te voorzien van de juiste taal attribuut. Ook is het wel handig om de layout te bewaren bij het plakken waar mogelijk. Als je die adviezen opvolgt is de kans dat er iemand naar je code kijkt of er mee aan de slag gaat een stuk groter. Tenslotte is het aan te raden aan te geven welke programmeeromgeving je gebruikt, welk platform en eventueel welke frameworks, tools en dergelijke. Eventueel kan je een modje vragen de titel van dit topic aan te passen.

Mocht ik een dezer dagen even tijd heb dan wil ik wel een poging doen het probleem te reproduceren. Ik heb hier echter nog wel een Samsung printer staan maar mijn HP printers heb ik vandaag helaas afgevoerd naar de milieustraat :P .

Visual Basic .NET:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Private Sub PrintDocument1_PrintPage(sender As Object, e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage

   Dim yPos As Single = 0
   Dim curLineCount As Integer = 0
   Dim line As String = Nothing

   g_printFont = New Font("Courier New", 10, FontStyle.Regular)
   ' Print each line of the file. 
   While curLineCount < g_linesPerPage
      If (txtUitvoer.Lines.Length - 1) < g_totalLineCount Then
         line = Nothing
         Exit While
      End If
      line = txtUitvoer.Lines(g_totalLineCount)
      yPos = g_TopMarge + curLineCount * g_printFontHeight
      e.Graphics.DrawString(line, g_printFont, Brushes.Black, g_LeftMarge, yPos, New StringFormat())
      curLineCount += 1
      g_totalLineCount += 1
   End While

   ' If more lines exist, print another page. 
   If (line IsNot Nothing) Then
      e.HasMorePages = True
      g_prtPage += 1
   Else
      e.HasMorePages = False
   End If
End Sub

Master of questionable victories and sheer glorious defeats


Acties:
  • 0 Henk 'm!

  • pwouters
  • Registratie: Februari 2005
  • Laatst online: 21-03-2019
Bedankt voor je advies.
Ik ben wel een oude rot maar in dit forum programming nieuw.
De taal die gebruik is VB omgeving visual studio 2013 en mijn bedoeling is de uitslag van een bridge toernooi te tonen in een tekstbox met een fixed font en naar de printer te sturen met een knopje.

Het gaat eigenlijk om deze regel

g_printFont = New Font("Courier New", 10, FontStyle.Regular)

Hier gaat het goed met de HP en de samsung printer doet wel zijn best maar drukt niets af.

De rest van de code is correct. De g_ (globals) krijgen van te voren een waarde alleen g_printFont niet

Acties:
  • 0 Henk 'm!

  • Tribits
  • Registratie: Augustus 2011
  • Laatst online: 25-07 15:49

Tribits

Onkruid vergaat niet

Heb inmiddels een poging ondernomen dit probleem te reproduceren op mijn Samsung ML-2160 printer. Het door jou omschreven probleem treed hier echter niet op. Ik heb een paar verschillende fonts geprobeerd (o.a. Arial en Courier New) en die werken gewoon naar verwachting. Het viel me overigens op dat je code redelijk overeenkomt met het voorbeeld op MSDN: PrintDocument Class (System.Drawing.Printing). Misschien is het handig om te kijken of het probleem ook optreed als je dat voorbeeldje gebruikt, dan is het daarmee eigenlijk uitgesloten dat het aan je code ligt.

Eventueel zou je nog kunnen proberen de software voor de printer te de-installeren en de printer opnieuw te laten detecteren. Daar heb ik in het verleden wel eens wat problemen mee opgelost met de Samsung printer software. Installeer je trouwens ook de updates voor de Samsung printer driver die via Windows update binnenkomen? Ik krijg ze hier bij optionele updates dus misschien is er nog een update beschikbaar als je de Windows updates handmatig controleert.

Master of questionable victories and sheer glorious defeats


Acties:
  • 0 Henk 'm!

  • pwouters
  • Registratie: Februari 2005
  • Laatst online: 21-03-2019
Dank je voor je nabootsing. Wat ik zelf geprobeerd heb is de Samsung Universal Printer driver 2 geinstalleerd werkte ook niet. Ik heb gekeken of ik iets met het printTicket kan doen http://msdn.microsoft.com...rintticket(v=vs.110).aspx (TrueTypeFontMode). Kon hem wel setten maar de hele materie is voor mij onduidelijk. In Word een document gemaakt met Courier New als font, werkte weer wel. De laatste optie deinstalleren en windows update gebruiken heb ik nog niet gedaan deze zal ik gaan proberen. Wordt vervolgd.

Acties:
  • 0 Henk 'm!

  • pwouters
  • Registratie: Februari 2005
  • Laatst online: 21-03-2019
Ik heb trouwens de code van het voorbeeld overgenomen.
Pagina: 1