ListIcon ausdrucken
Re: ListIcon ausdrucken
Cool, vielen Dank!
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
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
Re: ListIcon ausdrucken
Windows 10 (x64), standard MS-PDF Drucker funktioniert.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 7 (x86), Drucker 7-7PDF funktioniert nicht!
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.
Irgendwas am Code stimmt da sicherlich nicht.
Grüße
Barcodes for PureBasic - http://micha122.bplaced.net/
Re: ListIcon ausdrucken
Liegt bei VectorTextHeight() und VectorTextWidth()
Scheint der Treiber bei PDF keine gültige Werte zu liefern...
Scheint der Treiber bei PDF keine gültige Werte zu liefern...
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Re: ListIcon ausdrucken
Glaube ich weniger. Ich benutze diese Funktionen in meinem Modul ebenfalls, und ohne Probleme.mk-soft hat geschrieben:Liegt bei VectorTextHeight() und VectorTextWidth()
Scheint der Treiber bei PDF keine gültige Werte zu liefern...
Barcodes for PureBasic - http://micha122.bplaced.net/
Re: ListIcon ausdrucken
P.S. Lösung bei PDF Drucker
Code: Alles auswählen
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 ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Re: ListIcon ausdrucken
Nur Wenn man vorher keinen VectorFont gewählt hat und zu einem PDF-Drucker sendet.Micha122 hat geschrieben:Glaube ich weniger. Ich benutze diese Funktionen in meinem Modul ebenfalls, und ohne Probleme.mk-soft hat geschrieben:Liegt bei VectorTextHeight() und VectorTextWidth()
Scheint der Treiber bei PDF keine gültige Werte zu liefern...
P.S.
Mit meiner Erweiterung geht es jetzt auch mit den Drucker "PDFcreater"
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Re: ListIcon ausdrucken
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.
Ist mir überhaupt nicht aufgefallen das im Code von HeX0R kein Vector-Font ausgewählt wurde.
Barcodes for PureBasic - http://micha122.bplaced.net/
Re: ListIcon ausdrucken
Alternativ habe ich es jetzt so eingebaut
Edit: Column-Namen jetzt Fettschrift
Edit: Column-Namen jetzt Fettschrift
Code: Alles auswählen
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 ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
- HeX0R
- Beiträge: 2959
- Registriert: 10.09.2004 09:59
- Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win10 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2 - Kontaktdaten:
Re: ListIcon ausdrucken
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.
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.
{Home}.:|:.{Codes}.:|:.{Downloads}.:|:.{History Viewer Online}
-
- Beiträge: 4
- Registriert: 04.08.2019 20:09
Re: ListIcon ausdrucken
Querformat Papierausrichtung?