Drucken mit Linux
-
- Beiträge: 659
- Registriert: 19.10.2014 15:51
- Kontaktdaten:
Drucken mit Linux
Gibt es irgendeine uralt Linux-Version und eine uralt Purebasic-Version mit der man drucken kann?
Ich muss ein Programm für Linux schreiben wo gedruckt wird. Kann gerne eine ältere Version sein, solange drucken funktioniert.
Weiß da jemand was?
Ich muss ein Programm für Linux schreiben wo gedruckt wird. Kann gerne eine ältere Version sein, solange drucken funktioniert.
Weiß da jemand was?
Ich programmiere nur noch mit Linux.
Linux Mint 21.x
Linux Mint 21.x
Re: Drucken mit Linux
Unter der aktuellen PB-Version (und sicherlich auch unter einigen älteren Versionen) kann ich ohne Probleme unter Linux drucken.
Warum OpenSource eine Lizenz haben sollte :: PB-CodeArchiv-Rebirth :: Pleasant-Dark (Syntax-Farbschema) :: RegEx-Engine (kompiliert RegExes zu NFA/DFA)
Manjaro Xfce x64 (Hauptsystem) :: Windows 10 Home (VirtualBox) :: Neueste PureBasic-Version
-
- Beiträge: 659
- Registriert: 19.10.2014 15:51
- Kontaktdaten:
Re: Drucken mit Linux
Wie kommst du darauf?
Siehe Linux-Bugs.
Es ist seit Jahren (?) nicht möglich richtig mit Linux und PB zu drucken.
Verrätst du mir dann bitte den Trick?
PB kann nur mit einer Auflösung von ca. 70 DpI ca. 600x800 drucken. Da geht nix!
Siehe Linux-Bugs.
Es ist seit Jahren (?) nicht möglich richtig mit Linux und PB zu drucken.
Verrätst du mir dann bitte den Trick?
PB kann nur mit einer Auflösung von ca. 70 DpI ca. 600x800 drucken. Da geht nix!
Ich programmiere nur noch mit Linux.
Linux Mint 21.x
Linux Mint 21.x
Re: Drucken mit Linux
Durch einen selbst durchgeführten Test.stevie1401 hat geschrieben:Wie kommst du darauf?
VectorDrawing => PrinterVectorOutputstevie1401 hat geschrieben:Verrätst du mir dann bitte den Trick?
Das verrät dir aber auch die PB-Hilfe:
PrinterOutput()
[...]
Anmerkungen
Das Zeichnen auf dem Drucker mittels pixel-basiertem Zeichnen kann die Druckqualität verringern und für zusätzliche Komplexität sorgen, da die Drucker-Auflösung berücksichtigt werden muss. Vektor-basiertes Zeichnen mittels PrinterVectorOutput() sollte daher bevorzugt werden, da es Auflösungs-unabhängige Funktionen für hohe Druckqualität bietet.
Warum OpenSource eine Lizenz haben sollte :: PB-CodeArchiv-Rebirth :: Pleasant-Dark (Syntax-Farbschema) :: RegEx-Engine (kompiliert RegExes zu NFA/DFA)
Manjaro Xfce x64 (Hauptsystem) :: Windows 10 Home (VirtualBox) :: Neueste PureBasic-Version
-
- Beiträge: 659
- Registriert: 19.10.2014 15:51
- Kontaktdaten:
Re: Drucken mit Linux
Ich habe bis dato noch keinen funktionierenden Code hinbekommen, um unter Linux zu drucken.
Kannst du mir bitte ein einfaches Beispiel aufschreiben.
Die Community und ich wären dir sehr dankbar!
Ich kenne nur das Druckerbeispiel und mit dem kann ich nichts anfangen.
Kannst du mir bitte ein einfaches Beispiel aufschreiben.
Die Community und ich wären dir sehr dankbar!
Ich kenne nur das Druckerbeispiel und mit dem kann ich nichts anfangen.
Ich programmiere nur noch mit Linux.
Linux Mint 21.x
Linux Mint 21.x
Re: Drucken mit Linux
Nachfolgend ein Beispiel-Code. Ich habe noch ein paar Wrapper eingebaut, die die Vector-Funktionen wie 2DDrawing-Funktionen aufrufen lassen.
Code: Alles auswählen
CompilerIf #PB_Compiler_OS = #PB_OS_Windows
Path_Slash$ = "\"
CompilerElse
Path_Slash$ = "/"
CompilerEndIf
#Blue_Alpha = -65536 ;RGBA(0, 0, 255, 255)
#Black_Alpha = -16777216 ;RGBA(0, 0, 0, 255)
Procedure Vector_DrawText(x.d, y.d, Text$, FrontColor=#Black_Alpha)
MovePathCursor(x, y)
AddPathText(Text$)
VectorSourceColor(FrontColor)
FillPath()
EndProcedure
Procedure Vector_DrawImage(x.d, y.d, ImageID, Alpha=255, NewWidth.d=-1.0, NewHeight.d=-1.0)
MovePathCursor(x, y)
If NewWidth > 0 And NewHeight > 0
DrawVectorImage(ImageID, Alpha, NewWidth, NewHeight)
Else
DrawVectorImage(ImageID, Alpha)
EndIf
EndProcedure
Procedure Vector_LineXY(x1.d, y1.d, x2.d, y2.d, LineWidth.d=1.0, Color=#Black_Alpha)
MovePathCursor(x1, y1)
AddPathLine(x2, y2)
VectorSourceColor(Color)
StrokePath(LineWidth)
EndProcedure
If PrintRequester() And StartPrinting("Test") And StartVectorDrawing(PrinterVectorOutput(#PB_Unit_Pixel))
; Text zeichnen
If LoadFont(0, "Arial", 20)
VectorFont(FontID(0))
Vector_DrawText(20, 20, "Das ist ein Text.", #Blue_Alpha)
EndIf
; Zeichne eine horizontale Linie
Vector_LineXY(20, 200, 700, 200)
; Male noch ein Bild dazu
If LoadImage(0, #PB_Compiler_Home + "examples" + Path_Slash$ + "sources" + Path_Slash$ +
"Data" + Path_Slash$ + "PureBasicLogo.bmp")
Vector_DrawImage(20, 300, ImageID(0))
EndIf
StopVectorDrawing()
StopPrinting()
Debug "Es wird gedruckt..."
Else
Debug "Es ist ein Fehler aufgetreten!"
EndIf
Warum OpenSource eine Lizenz haben sollte :: PB-CodeArchiv-Rebirth :: Pleasant-Dark (Syntax-Farbschema) :: RegEx-Engine (kompiliert RegExes zu NFA/DFA)
Manjaro Xfce x64 (Hauptsystem) :: Windows 10 Home (VirtualBox) :: Neueste PureBasic-Version
-
- Beiträge: 659
- Registriert: 19.10.2014 15:51
- Kontaktdaten:
Re: Drucken mit Linux
Das sieht sehr gut aus! Vielen Dank!
Aber wie stelle ich nun eine DIN A4 Seite ein?
Ich brauche doch FESTE Maße, um drucken zu können. Also FESTE Seitenbreite und FESTE Seitenhöhe.
EDIT:
Ah,ich vermute, ich brauche nur auf "#PB_Unit_Millimeter" umstellen, gell?
Mal schauen wie es bei unterschiedlichen Auflösungen dann klappt bei Schrift und Bildern.
Erst einmal vielen Dank!
Ich habe mir einen Wolf abgesucht und wäre im Leben nicht auf VectorDrawing gekommen. Wie auch?
So lange das "normale" Drucken unter Linux defekt ist, hätte man DEIN Beispiel in die Hilfe aufnehmen sollen.
Aber wie stelle ich nun eine DIN A4 Seite ein?
Ich brauche doch FESTE Maße, um drucken zu können. Also FESTE Seitenbreite und FESTE Seitenhöhe.
EDIT:
Ah,ich vermute, ich brauche nur auf "#PB_Unit_Millimeter" umstellen, gell?
Mal schauen wie es bei unterschiedlichen Auflösungen dann klappt bei Schrift und Bildern.
Erst einmal vielen Dank!
Ich habe mir einen Wolf abgesucht und wäre im Leben nicht auf VectorDrawing gekommen. Wie auch?
So lange das "normale" Drucken unter Linux defekt ist, hätte man DEIN Beispiel in die Hilfe aufnehmen sollen.
Ich programmiere nur noch mit Linux.
Linux Mint 21.x
Linux Mint 21.x
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Re: Drucken mit Linux
Da ist nichts defekt, es mangelt wahrscheinlich eher an API-Kenntnissen, die erforderlich sind um ein gescheites Druckbildstevie1401 hat geschrieben:Ich habe mir einen Wolf abgesucht und wäre im Leben nicht auf VectorDrawing gekommen. Wie auch?
So lange das "normale" Drucken unter Linux defekt ist, hätte man DEIN Beispiel in die Hilfe aufnehmen sollen.
zu erhalten. Aber um das ganze zu vereinfachen gibt es ja jetzt die VectrorDrawing lib.
Hinweise findet man in der Hilfe: http://www.purebasic.com/german/documen ... utput.html im Abschnitt
Anmerkungen.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
-
- Beiträge: 659
- Registriert: 19.10.2014 15:51
- Kontaktdaten:
Re: Drucken mit Linux
Wieso benötige ich API Kenntnisse, wenn ich unter Linux drucken möchte?
Unter Windows und OSX benötige ich keine Vectorgrafik, da geht es einfach. Unter Linux werden die Variablen PrinterWidth() und PrinterHeight() ignoriert und es wird lediglich eine Papierbreite von ca. 600 Pixel verarbeitet. Das ist ein Bug.
Unter Windows und OSX benötige ich keine Vectorgrafik, da geht es einfach. Unter Linux werden die Variablen PrinterWidth() und PrinterHeight() ignoriert und es wird lediglich eine Papierbreite von ca. 600 Pixel verarbeitet. Das ist ein Bug.
Ich programmiere nur noch mit Linux.
Linux Mint 21.x
Linux Mint 21.x
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Re: Drucken mit Linux
Und Windows nutzt man auch meist GDI-Drucker, während unter Linux eher professionelle Lösungen ala Postscript genutzt wird.
Unter Windows benötigt man genauso viel API wie unter Linux, für ein professionelles Druckbild!
PS: Nicht jeder Drucker kann 600 DPI und nicht jeder möchte mit 600 DPI drucken
Du kannst PB mangelnde Druckerunterstützung vorwerfen, aber das gilt für alle OS und ist kein Bug.
Unter Windows benötigt man genauso viel API wie unter Linux, für ein professionelles Druckbild!
PS: Nicht jeder Drucker kann 600 DPI und nicht jeder möchte mit 600 DPI drucken
Du kannst PB mangelnde Druckerunterstützung vorwerfen, aber das gilt für alle OS und ist kein Bug.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.