Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
SL
Anmeldungsdatum: 06.12.2009 Beiträge: 43
|
Verfasst am: 24.01.2010, 17:49 Titel: Drucken (zum x-ten Mal) |
|
|
Drucken (auf Papier oder als PDF) in Windows? Wer weiß, wie das geht und kann konkret einen Weg aufzeigen? Mir geht es darum, reinen Text - also keine Graphik - in relativ primitiver Form (und möglichst unkompliziert) auf das Papier zu bringen. Von Windows API / GUI etc. habe ich weder eine Ahnung, noch habe ich vor, davon eine Ahnung zu haben.
Mein jetziger Kenntnisstand ist folgender:
Code: | Open Lpt "LPT:EMU=TTY" As #1
Print #1, "Seite 1:Zeile 1"; 'der ; verhindert Zeilenumbruch
Print #1, chr$(10); chr(13); 'Zeilenvorschub (LF) und Wagenrücklauf (CR)
Print #1, "Seite 1:Zeile 2";
Print #1, chr$(12);CHR$(13); 'Seitenvorschub (FF) und Wagenrücklauf (CR)
Print #1, "Seite 2";
Close #1 |
Damit wurden (fast) alle Möglichkeiten des Druckens in Freebasic aufgezeigt, die ich kenne.
Was mir jetzt fehlt sind weitere „wesentliche“ Grundfunktionen für den Text-Druck, die ich direkt im Programm-Code steuern kann (also ohne das Windows-Fenster „Drucken“, welches auch nicht erscheinen soll)
- Text-Effekte wie Fettdruck / Kursivdruck / Unterstreichen
- Papierformat und Druckränder
- Schriftart und Schriftgröße
- Zeilenabstand (normal, 1,5 fach, usw.)
- Tab-Abstand (in mm)
- und noch ein paar wenige Grundfunktionen, die mir gerade nicht einfallen.
Gibt es jemand, der hierzu die (wahrscheinlich) nötigen Bibliotheken schreiben kann, so dass auch ein DAU wie ich damit zurechtkommt?
Beispielsweise eine Routine mit den Namen: Printer_Papersize (Papierformat, Rand rechts, Rand links, Rand oben, Rand unten)
oder Printer_Font (Schriftart, Schriftgröße)
oder Printer_Font_Effects (Effekt wie z.B. Fettdruck)
usw.
Zuletzt bearbeitet von SL am 24.01.2010, 17:54, insgesamt einmal bearbeitet |
|
Nach oben |
|
 |
28398
Anmeldungsdatum: 25.04.2008 Beiträge: 1917
|
Verfasst am: 24.01.2010, 17:51 Titel: |
|
|
Wenn du die Win32 API nicht kennenlernen willst, hast du da eben keine Chance. Unter Windows geht das nur mit eben dieser EINEN API (unter FreeBasic) oder einem Framework - wie GTK+ (Kann das Drucken?) oder wxWidgets. Qt kann das auch... |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 24.01.2010, 18:43 Titel: |
|
|
Warum "keine Chance", csde? Man kann genau so gut sich in PostScript o.ä. einarbeiten. Damit kann man auch druckfähiges Material erzeugen, jaja... _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
28398
Anmeldungsdatum: 25.04.2008 Beiträge: 1917
|
Verfasst am: 25.01.2010, 08:41 Titel: |
|
|
Ok, ich bin davon ausgegangen, dass er keine temporären Dateien erzeugen möchte... |
|
Nach oben |
|
 |
volta
Anmeldungsdatum: 04.05.2005 Beiträge: 1876 Wohnort: D59192
|
|
Nach oben |
|
 |
OneCypher
Anmeldungsdatum: 23.09.2007 Beiträge: 802
|
Verfasst am: 02.02.2010, 19:55 Titel: |
|
|
Warum versucht nich einer mal eine html-datei mit freebasic zu erstellen und die übern firefox oder internet-explorer auszudrucken??
Ist doch bestimmt das einfachste  |
|
Nach oben |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4702 Wohnort: ~/
|
Verfasst am: 02.02.2010, 21:03 Titel: |
|
|
Ich glaube nicht, dass es über Postscript komplizierter ist. _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
 |
SL
Anmeldungsdatum: 06.12.2009 Beiträge: 43
|
Verfasst am: 02.02.2010, 21:42 Titel: |
|
|
Danke Volta! Doch das habe ich bereits gesehen. Du wirst darin auch einen Beitrag von mir finden (auf Seite 2, ebenfalls unter „SL“). Ich blicke allerdings mit FBWinPrint nicht durch. Wie stelle ich da beispielsweise den Zeilenabstand auf 1,5-fach ein?
Außerdem habe ich dort: http://www.freebasic.net/forum/viewtopic.php?t=15064 ebenfalls versucht Hilfe zu bekommen. So richtig weiter gekommen bin ich allerdings nicht. Das lag auch daran, dass mein Englisch noch bescheidner als meine Kenntnis über Basic ist.
Im englischen Forum wurde mir auch erklärt, dass das "einfache" Steuern eines Windows-Druckers nicht so einfach sei! Ob das so ist, kann ich nicht beurteilen. Es gibt jedoch Software, die beweist dass das immerhin möglich ist. Ich benütze zum Drucken aus VBDOS die Shareware DOSprn. ( http://www.dosprn.com/ ) Damit "versteht“ ein Windows-Drucker (oder auch ein PDF-Drucker) sämtliche ESC/P-Sequenzen. ( http://en.wikipedia.org/wiki/ESC/P )
Nur für FB ist das keine Lösung. DOS und ESC/P ist Vergangenheit und funktioniert in FB auch nur mit der veralteten Anweisungen LPRINT. Es wäre garantiert kein Schaden, wenn so fundamentalen Druckbefehle wie Randabstände, Zeilenabstände oder Schriftarten so unkompliziert wie die wenigen ASCII-Druckerbefehle in FB möglich wären. |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 03.02.2010, 08:18 Titel: |
|
|
Das gehört nicht in eine Programmiersprache, sondern eine Druck-API. Oder sollen in FB vielleicht auch noch Befehle zum direkten Ansteuern der Soundkarte, eines Browserfensters oder vielleicht einer Kaffeemaschine implementiert werden? Das ist alles Sache von APIs! _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
OneCypher
Anmeldungsdatum: 23.09.2007 Beiträge: 802
|
Verfasst am: 03.02.2010, 09:58 Titel: |
|
|
@Jojo: Html zu interpretieren und die Seite Druckfertig aufzubereiten ist Chefsache eines Browsers. Da muss man das Rad nicht neu erfinden!
Ich glaub, ich werd da auch mal eine kleine bibliothek schreiben, die es zumindest unter windows erleichtert, formatierte Texte und Grafiken über diesen weg auszudrucken.
Evtl muss man nichtmal über eine temporäre html-datei gehen sondern direkt im dokument des browsers schreiben... hm.. muss ich mal ausprobieren  |
|
Nach oben |
|
 |
28398
Anmeldungsdatum: 25.04.2008 Beiträge: 1917
|
Verfasst am: 03.02.2010, 14:08 Titel: |
|
|
Jojo, ich muss dir absolut recht geben! Wer für wirklich alles eingebauten Support haben will, sollte seine Zeit nicht mit C++ oder FB vergeuden ("This is the reason, why I waste my time with BASIC and not with C++"), sondern mit .Net oder Java arbeiten. |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 03.02.2010, 14:13 Titel: |
|
|
OneCypher hat Folgendes geschrieben: | @Jojo: Html zu interpretieren und die Seite Druckfertig aufzubereiten ist Chefsache eines Browsers. Da muss man das Rad nicht neu erfinden! |
Hab ich doch gesagt, dass das nicht in eine Programmiersprache gehört! Natürlich soll FB nicht HTML parsen Dafür gibt's ja diverse Bibliotheken. _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
The_Muh aka Mark Aroni

Anmeldungsdatum: 11.09.2006 Beiträge: 718
|
Verfasst am: 06.02.2010, 01:29 Titel: |
|
|
oder man bastelt sich mal eben ne quick'n'dirty-lösung, wenn man keine zeit / lust / motivation hat sich in ne lib / api zu fummeln... bei html geht das teilweise super =P
allerdings... wenn jemand ne einheitliche druck-lib für FB (linux + windows) schreiben könnte wäre das bestimmt ne erleichterung für viele... Postscript-support wär nart. pflicht *g*
hf
und lasst euch nicht ärgern
muh _________________ // nicht mehr aktiv // |
|
Nach oben |
|
 |
SL
Anmeldungsdatum: 06.12.2009 Beiträge: 43
|
Verfasst am: 06.02.2010, 20:18 Titel: |
|
|
Falls ich nicht der Einzige bin, der nach so was lechzt, meine ich schon dass hier eine grundlegende Lösung für „FB-Print“ sehr sinnvoll wäre. Kein "quick and dirty“.
Nach dem Bildschirm ist der Drucker die wichtigste Ausgabemöglichkeit von Information. Noch vor Soundkarte und Kaffeemaschine. Kaum zu glauben dass über das Drucken in FB noch nicht viel auf dem Markt ist. Insbesondere hierzulande, wo der alte Gutenberg bereits Anno Domini 1452 mehrfarbig drucken konnte. Und wie geht das bitte in FB, gut 550 Jahre später? (Na gut, das war jetzt etwas grob von mir, da weder ich noch mein Drucker hier was zustande bringen.) |
|
Nach oben |
|
 |
MOD Fleißiger Referenzredakteur

Anmeldungsdatum: 10.09.2007 Beiträge: 1003
|
Verfasst am: 06.02.2010, 20:26 Titel: |
|
|
Hock dich hin, les dich in die WinAPI ein und nach vielen Stunden/Tagen/Wochen/Monaten/Jahren kannst du ja vielleicht was zur Community beitragen.
Ausgabe von Musik ist viel wichtiger (für Spiele, als Ereignismeldung usw.) als irgendwas zu drucken, was ich persönlich noch nie gebraucht habe. |
|
Nach oben |
|
 |
croco97

Anmeldungsdatum: 04.11.2005 Beiträge: 260
|
Verfasst am: 06.02.2010, 22:00 Titel: |
|
|
Ich will nochmal das Thema "Postscript" aufgreifen. M.E. die einfachste Möglichkeit, direkt zu einem formatierten Output kommen, den nicht alle, so doch viele Drucker direkt verstehen können.
In
http://askos.de/tutorial/ps1.htm
findet SL eine Methode, wie man relativ schnell Liniengrafiken via Postscript druckt, ohne vorher viel von Postscript verstanden zu haben. Nach der gleichen Experimentier-Methode lässt sich auch sicher schnell ermitteln, wie man Zeilenabstand, Fettdruck u.ä. realisiert.
VG!
Croco |
|
Nach oben |
|
 |
|