Printer_Lib - Fragen

Für allgemeine Fragen zur Programmierung mit PureBasic.
Amor_2001
Beiträge: 75
Registriert: 14.12.2011 19:20

Printer_Lib - Fragen

Beitrag von Amor_2001 »

Hallo zusammen,
ich möchte in einem Programm dem Anwender die Möglichkeit geben eine Datei zu drucken.
Hierbei soll er in einem eigenen Menü die Möglichkeit haben zu wählen, ob schwarz/weiß oder Farbe und ob A3 oder A4.
Das zu druckende Dokument soll dann auf die entsprechende Papiergröße skaliert werden.

Hier ein Testbeispiel:

Code: Alles auswählen

Procedure Print_Trennblatt(zeile1$,zeile2$)
  Print_OpenPrinter(Print_GetDefaultPrinter(),"PAPERSIZE="+Str(#DMPAPER_A4)+",ORIENTATION="+Str(#DMORIENT_LANDSCAPE)+",COLOR="+Str(#DMCOLOR_COLOR))
  Print_StartPrinting("TB:")
  Print_SetTextColor(#Red)
  Print_SetTextAlign(#TA_CENTER)
  Print_SetTextAlign(#VTA_CENTER)
  Print_Font("Arial",60, #PB_Font_Bold)
  Print_Text(145,60,zeile1$)
  Print_Text(145,100,zeile2$)
  Print_StopPrinting()
EndProcedure

Print_Trennblatt("Zeile1", "Zeile2")
Die Steuerung A3 oder A4 funktioniert problemlos, aber die Steuerung ob Farbe oder sw funktioniert nicht. Der Drucker druckt immer mit dem in der Standardeinstellung vorgenommenen Wert.
Auch für die automatische Skalierung fehlt mir eine Idee.

Wäre für Tipps oder Code's sehr dankbar
Benutzeravatar
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: Printer_Lib - Fragen

Beitrag von ts-soft »

Ich kenne die Printer_Lib nicht, aber für Drucksachen bietet sich doch die neue VectorDrawing Lib an,
die es seit PB5.40 gibt, an :)
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.
Bild
Amor_2001
Beiträge: 75
Registriert: 14.12.2011 19:20

Re: Printer_Lib - Fragen

Beitrag von Amor_2001 »

Habe noch nicht mit PB 5.40 gearbeitet. Kenne leider diese LIB nicht. Hättest du damit einen Lösungsansatz?
Benutzeravatar
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: Printer_Lib - Fragen

Beitrag von ts-soft »

PureBasic VectorDrawing hat geschrieben:Die VectorDrawing Bibliothek bietet auflösungsunabhängige, hoch-qualitative Zeichenoperationen für das Anzeigen, die Bild-Manipulation oder für das Drucken. Anders als die 2DDrawing Bibliothek können die Funktionen in dieser Bibliothek in einer Vielzahl von Maßeinheiten operieren und erlauben die gewünschten Koordinaten-Umwandlungen. Dies ermöglicht das einfache Programmieren von Zeichenoperationen, welche unabhängig von der aktuellen Ausgabeauflösung sind und einfach in verschiedene Größen skaliert werden können. Die VectorDrawing Bibliothek unterstützt Alpha-Transparenz bei all ihren Operationen.
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.
Bild
Amor_2001
Beiträge: 75
Registriert: 14.12.2011 19:20

Re: Printer_Lib - Fragen

Beitrag von Amor_2001 »

Ich glaube, ich kann da nicht mehr mithalten. Das klingt für mich ganz schön kompliziert für das was ich eigentlich machen wollte.
Kurz umrissen: Der Benutzer bekommt ein PDF als Vorschau angezeigt. Wenn er es drucken möchte, soll er in einem Menü wählöen A4/A3.....sw/farbe. dann PDF drucken.
Hatte gehofft, dass ich mit nem Tipp das schnell hinbekomme. Nun sieht es aber wirklich kompliziert für mich aus.
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8807
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Re: Printer_Lib - Fragen

Beitrag von NicTheQuick »

Woher bekommst du denn das PDF und wie generierst du die Vorschau? Und wieso reicht ein normaler PDF-Viewer nicht?
Amor_2001
Beiträge: 75
Registriert: 14.12.2011 19:20

Re: Printer_Lib - Fragen

Beitrag von Amor_2001 »

Die PDFe werden von einem anderen System bereitgestellt, dieses generiert auch eine runtergerechnete JPG für die Voranzeige. Diese zeige ich dann an.
Ich wollte auf externe Browser oder DLLs verzichten, damit alles aus einem Guss kommt.
Das eigentliche PDF sollte dann wie schon beschrieben mit den eingestellten Optionen zum Drucker geschickt werden.
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8807
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Re: Printer_Lib - Fragen

Beitrag von NicTheQuick »

Okay, dafür brauchst du dann natürlich einen PDF-Renderer, der das PDF öffnen, rendert und dann zum Drucker schickt. Um das in dein eigenes Programm zu integrieren, wird das bestimmt noch eine Menge Arbeit, zumal zu erst einmal eine Bibliothek finden musst, die das kann und die du mit Purebasic ansprechen kannst.
Amor_2001
Beiträge: 75
Registriert: 14.12.2011 19:20

Re: Printer_Lib - Fragen

Beitrag von Amor_2001 »

Das hatte ich nach den letzten Antworten schon befürchtet. Ein LIB habe ich noch nicht gefunden. Dann muss ich wohl nach einer Alternative suchen, oder?
Benutzeravatar
kunstlust
Beiträge: 259
Registriert: 12.04.2012 23:47
Wohnort: Hannover
Kontaktdaten:

Re: Printer_Lib - Fragen

Beitrag von kunstlust »

Soweit die Drucker PostScript können, ist der Direktdruck möglich. Mit der Hilfe von @PJL Kommandos ist es Problemlos möglich Kopie und Farbe zu steuern.
Antworten