Aktuelle Zeit: 14.11.2018 04:10

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 19 Beiträge ]  Gehe zu Seite Vorherige  1, 2
Autor Nachricht
 Betreff des Beitrags: Re: ListIcon ausdrucken
BeitragVerfasst: 15.06.2018 10:47 
Offline

Registriert: 13.05.2010 09:26
Wohnort: Berlin
Cool, vielen Dank! :allright:

Die aktuelle Version des Codes (vom 14.06.2018 21:12) funktioniert hier offenbar einwandfrei:
PB 5.62 (x64) unter Windows 10, "gedruckt" mit PDF-XChange Lite 7.0 (Build 323.2)
=> alle 4 Spalten auf ca. 1 1/2 DIN A4 Seiten

_________________
Dieser Satz ist falsch.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: ListIcon ausdrucken
BeitragVerfasst: 15.06.2018 12:20 
Offline

Registriert: 02.10.2011 14:45
Wohnort: Sinzig
HeX0R hat geschrieben:
Ich habe nicht behauptet PDF Ausdrucke gehen nicht, ich habe gefragt, ob die o.g. Drucker bei irgendjemanden funktionieren.
Bei dir geht also der Microsoft Print to PDF oder hast Du irgendeinen anderen getestet?


Windows 10 (x64), standard MS-PDF Drucker funktioniert. :allright:

Windows 7 (x86), Drucker 7-7PDF funktioniert nicht! :roll:

An 7-PDF oder PureBasic kann es nicht liegen, da mein Barcode-Modul bestens funktioniert/druckt.
Benutze da auch die Vektor- und Printer Lib.
Auch alle anderen Programme wie LibreOffice oder Wordpad funktionieren mit 7-PDF. :wink:

Irgendwas am Code stimmt da sicherlich nicht.

Grüße

_________________
Barcodes for PureBasic - http://micha122.bplaced.net/


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: ListIcon ausdrucken
BeitragVerfasst: 15.06.2018 12:27 
Offline
Benutzeravatar

Registriert: 24.11.2004 13:12
Wohnort: Germany
Liegt bei VectorTextHeight() und VectorTextWidth()

Scheint der Treiber bei PDF keine gültige Werte zu liefern...

_________________
Alles ist möglich, fragt sich nur wie...
Projekte EventDesigner v1.x / OOP-BaseClass-Modul / OPC-Helper DLL
PB v3.30 / v5.4x - OS Mac Mini OSX 10.xx / Window 10 Pro. (X64) /Window 7 Pro. (X64) / Window XP Pro. (X86) / Ubuntu 14.04
Downloads auf Webspace


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: ListIcon ausdrucken
BeitragVerfasst: 15.06.2018 12:32 
Offline

Registriert: 02.10.2011 14:45
Wohnort: Sinzig
mk-soft hat geschrieben:
Liegt bei VectorTextHeight() und VectorTextWidth()

Scheint der Treiber bei PDF keine gültige Werte zu liefern...


Glaube ich weniger. Ich benutze diese Funktionen in meinem Modul ebenfalls, und ohne Probleme.

_________________
Barcodes for PureBasic - http://micha122.bplaced.net/


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: ListIcon ausdrucken
BeitragVerfasst: 15.06.2018 12:51 
Offline
Benutzeravatar

Registriert: 24.11.2004 13:12
Wohnort: Germany
P.S. Lösung bei PDF Drucker

Code:
Global VectorFontID = LoadFont(#PB_Any, "Arial", 16)

...

If StartVectorDrawing(PrinterVectorOutput(#PB_Unit_Pixel))
         If VectorTextHeight("X") = 0.0
           VectorFont(FontID(VectorFontID))
         EndIf
     
...

_________________
Alles ist möglich, fragt sich nur wie...
Projekte EventDesigner v1.x / OOP-BaseClass-Modul / OPC-Helper DLL
PB v3.30 / v5.4x - OS Mac Mini OSX 10.xx / Window 10 Pro. (X64) /Window 7 Pro. (X64) / Window XP Pro. (X86) / Ubuntu 14.04
Downloads auf Webspace


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: ListIcon ausdrucken
BeitragVerfasst: 15.06.2018 12:54 
Offline
Benutzeravatar

Registriert: 24.11.2004 13:12
Wohnort: Germany
Micha122 hat geschrieben:
mk-soft hat geschrieben:
Liegt bei VectorTextHeight() und VectorTextWidth()

Scheint der Treiber bei PDF keine gültige Werte zu liefern...


Glaube ich weniger. Ich benutze diese Funktionen in meinem Modul ebenfalls, und ohne Probleme.


Nur Wenn man vorher keinen VectorFont gewählt hat und zu einem PDF-Drucker sendet.

P.S.
Mit meiner Erweiterung geht es jetzt auch mit den Drucker "PDFcreater"

_________________
Alles ist möglich, fragt sich nur wie...
Projekte EventDesigner v1.x / OOP-BaseClass-Modul / OPC-Helper DLL
PB v3.30 / v5.4x - OS Mac Mini OSX 10.xx / Window 10 Pro. (X64) /Window 7 Pro. (X64) / Window XP Pro. (X86) / Ubuntu 14.04
Downloads auf Webspace


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: ListIcon ausdrucken
BeitragVerfasst: 15.06.2018 13:07 
Offline

Registriert: 02.10.2011 14:45
Wohnort: Sinzig
Manchmal sind es ganz banale Dinge die einen in den Wahnsinn treiben.
Ist mir überhaupt nicht aufgefallen das im Code von HeX0R kein Vector-Font ausgewählt wurde. :oops:

_________________
Barcodes for PureBasic - http://micha122.bplaced.net/


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: ListIcon ausdrucken
BeitragVerfasst: 15.06.2018 13:35 
Offline
Benutzeravatar

Registriert: 24.11.2004 13:12
Wohnort: Germany
Alternativ habe ich es jetzt so eingebaut

Edit: Column-Namen jetzt Fettschrift
Code:
Procedure PrintListIcon(ListIcon, PageName.s = "Page {NUM}", LineThickness = 2)
   Protected i, j, k, Count, Columns, NewLine, CurrentPage, LastLineReached
   Protected OutputHeight.d, OutputWidth.d, SizeFactor.d, PixPos.d
   Protected XSpaceBetweenTextAndTable.d, YSpaceBetweenTextAndTable.d, XSpaceBetweenEdgeAndTable.d, YSpaceBetweenEdgeAndTable.d
   Protected H.d, size.d, OverallSize.d
   Static DefaultFontID.i, BoldFontID.i
   
   If Not DefaultFontID
     DefaultFontID = FontID(LoadFont(#PB_Any, "Arial", 16))
     BoldFontID = FontID(LoadFont(#PB_Any, "Arial", 16, #PB_Font_Bold))
   EndIf
   
   If IsGadget(ListIcon) = 0 Or GadgetType(ListIcon) <> #PB_GadgetType_ListIcon
      ProcedureReturn
   EndIf
   Columns = GetGadgetAttribute(ListIcon, #PB_ListIcon_ColumnCount)
   
   Dim Widths.d(Columns)
   
   If PrintRequester() And StartPrinting("ParameterList")
      OutputHeight = PrinterPageHeight()
      OutputWidth  = PrinterPageWidth()
      Count        = CountGadgetItems(ListIcon) - 1
     
      If StartVectorDrawing(PrinterVectorOutput(#PB_Unit_Pixel))
         VectorFont(DefaultFontID)
         H                         = VectorTextHeight("P°²gT_")
         YSpaceBetweenTextAndTable = H / 4                ;<-- spacing between table line and text on top and bottom, 25% of max text height
         XSpaceBetweenTextAndTable = VectorTextWidth(" ") ;<-- spacing between table line and text left and right, one space here, add more if needed
         YSpaceBetweenEdgeAndTable = OutputHeight / 20    ;<-- spacing of 1/20 of complete width will be used left and right of the table
         XSpaceBetweenEdgeAndTable = OutputWidth / 20     ;<-- spacing of 1/20 of complete height will be used on top and bottom of the table
         ;find max column widths
         For j = 0 To Columns - 1
            Widths(j) = VectorTextWidth(GetGadgetItemText(ListIcon, -1, j))
         Next j
         For i = 0 To Count
            For j = 0 To Columns - 1
               size = VectorTextWidth(GetGadgetItemText(ListIcon, i, j))
               If size > Widths(j)
                  Widths(j) = size
               EndIf
            Next j
         Next i
         ;Add some more space for each column, in front and behind the text
         size        = 0
         For j = 0 To Columns - 1
            Widths(j) + 2 * XSpaceBetweenTextAndTable
            size + Widths(j)
         Next j
         OverallSize               = size
         size + (Columns - 1) * XSpaceBetweenTextAndTable + XSpaceBetweenEdgeAndTable * 2
         SizeFactor                = OutputWidth / size
         OutputWidth               = OutputWidth / SizeFactor
         OutputHeight              = OutputHeight / SizeFactor
         NewLine                   = #True
         ScaleCoordinates(SizeFactor, SizeFactor)
         
         H + YSpaceBetweenTextAndTable * 2
         For i = 0 To Count
            If NewLine
               ;print Header
               PixPos = YSpaceBetweenEdgeAndTable
               VectorFont(BoldFontID)
               For j = 0 To Columns - 1
                  size = 0
                  For k = 0 To j - 1
                     size + Widths(k)
                  Next k
                  AddPathBox(XSpaceBetweenEdgeAndTable + size, PixPos, Widths(j), H)
                  MovePathCursor(XSpaceBetweenEdgeAndTable + XSpaceBetweenTextAndTable + size, PixPos + YSpaceBetweenTextAndTable)
                  DrawVectorText(GetGadgetItemText(ListIcon, -1, j))
               Next j
               StrokePath(LineThickness)
               NewLine = #False
               PixPos + H
            EndIf
           
            VectorFont(DefaultFontID)
            For j = 0 To Columns - 1

...

_________________
Alles ist möglich, fragt sich nur wie...
Projekte EventDesigner v1.x / OOP-BaseClass-Modul / OPC-Helper DLL
PB v3.30 / v5.4x - OS Mac Mini OSX 10.xx / Window 10 Pro. (X64) /Window 7 Pro. (X64) / Window XP Pro. (X86) / Ubuntu 14.04
Downloads auf Webspace


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: ListIcon ausdrucken
BeitragVerfasst: 15.06.2018 15:57 
Offline
Benutzeravatar

Registriert: 10.09.2004 09:59
Ey cool, Danke Jungs!

Das passiert, wenn man es nur mit einem Drucker testet, und dessen Treiber offensichtlich clever genug ist :)

Hab den ersten Beitrag mit mk-softs Version ersetzt.

_________________
Link tot?
Ändere h3x0r.ath.cx in hex0rs.coderbu.de und alles wird gut.


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 19 Beiträge ]  Gehe zu Seite Vorherige  1, 2

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.

Suche nach:
Gehe zu:  

 


Powered by phpBB © 2008 phpBB Group | Deutsche Übersetzung durch phpBB.de
subSilver+ theme by Canver Software, sponsor Sanal Modifiye