Druck von RTF-Dokumenten

Von Ausgaben mit der Gra-Engine über Generatoren bis zum Export in diversen Formaten

Moderator: Moderatoren

Antworten
Benutzeravatar
mini990
1000 working lines a day
1000 working lines a day
Beiträge: 592
Registriert: Sa, 28. Jan 2006 9:44
Wohnort: Berg-Richtheim bei Neumarkt i.d.Opf.
Danksagung erhalten: 1 Mal

Druck von RTF-Dokumenten

Beitrag von mini990 »

Hallo,
ich habe ein auf ASCN-RTF basierendes Modul geschrieben, in dem RTF-Dokumente manipuliert werden. Anschließend übergebe ich das Dokument an Word (externer Aufruf mit Runshell) um das Dokument bearbeiten zu können.

Ich suche nun eine Möglichkeit, ein RTF-Dokument direkt auszudrucken (ohne kompletten Start von Word). Die Funktion XbpRtf hilft hier nicht weiter, da teilweise verwendete Kopfzeilen und formatierte Grafiken nicht übernommen bzw. ausgedruckt werden.

Oder kann man Word so aufrufen daß Word gestartet, das Dokument gedruckt und anschließend Word wieder beendet wird (keine schöne Methode aber wenns nichts anderes geben sollte....)?

danke im voraus

Gruß Stefan
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9356
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 101 Mal
Danksagung erhalten: 361 Mal
Kontaktdaten:

Beitrag von Tom »

Hallo, Stefan.

Aus diesem Grund nutzen wir nicht die Mini-XbpRtf-Klasse, sondern TX Text Control von The Imaging Source Europe.

http://www.theimagingsource.com/de/welcome/

Das ist eine Active-X-Komponente, die alle Klassenbibliotheken selbst mitbringt und die volle Integration einer Textverarbeitungskomponente z.B. als Replacement für MLEs ermöglicht. Wir haben auf dieser Basis eine "interne" Textverarbeitung integriert, die alle Standarfunktionen bietet, und auch den Ausdruck, direkt oder über das ebenfalls genutzte List&Label.

Wenn Du Word dazu bringen willst, ein Dokument nur auszudrucken und sich nicht zu zeigen, mußt Du das - wie TX Text Control - per Active-X machen, was entweder mit der X++ 1.9 oder - wie wir es (noch) machen - mit der JazzAge-Bibliothek von Philippe Monteil funktioniert. Diese wird allerdings nicht mehr gepflegt; sie soll zwar frei verfügbar sein, aber ich weiß leider nicht, wo, da Philippes Site inzwischen nicht mehr zu erreichen ist. Dann jedenfalls geht es so:

Code: Alles auswählen

oWord:= JAObject():new()
oWord:Connect(JAXPPCREATEACTIVEXOBJECT("ProgID:Word.Application,"+cJartKey))
<oWord:Visible := .F.> // Word nicht anzeigen
oDocument:= JAObject():new()
oDocument:Connect(<oWord:Documents:Open(cMyDocument)>)
<oDocument:PrintOut("Background",.T.)> // nur ausdrucken
oDocument:Disconnect()
oWord:Disconnect()
M.E. müßte es auch möglich sein, Word über das Windows-Messaging-System zu steuern, aber wie das genau geht, weiß ich leider nicht. Ich suche mal nach näheren Infos zu JazzAge; vielleicht kann ich Dir die Bibliothek irgendwie besorgen.
Herzlich,
Tom
Benutzeravatar
Wolfgang Ciriack
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2934
Registriert: Sa, 24. Sep 2005 9:37
Wohnort: Berlin
Hat sich bedankt: 13 Mal
Danksagung erhalten: 34 Mal
Kontaktdaten:

Beitrag von Wolfgang Ciriack »

Hallo Stefan,
schau doch mal auf Phil Ides Seite unter

http://www.idep.org.uk

XBase++ Item 82: WordDocument

das macht glaube ich genau das, was du suchst.
Viele Grüße
Wolfgang
Benutzeravatar
mini990
1000 working lines a day
1000 working lines a day
Beiträge: 592
Registriert: Sa, 28. Jan 2006 9:44
Wohnort: Berg-Richtheim bei Neumarkt i.d.Opf.
Danksagung erhalten: 1 Mal

Beitrag von mini990 »

vielen Dank für die Hilfe.
Ich habe das Tool von Phil Ide ausprobiert. Es läuft bei mir zwar nicht unter 1.90, mit 1.82 funktioniert es aber und macht genau das was ich will...

danke nochmals...

Gruß Stefan
Antworten