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
Druck von RTF-Dokumenten
Moderator: Moderatoren
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9367
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 102 Mal
- Danksagung erhalten: 361 Mal
- Kontaktdaten:
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:
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.
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()
Herzlich,
Tom
Tom
- Wolfgang Ciriack
- Der Entwickler von "Deep Thought"
- Beiträge: 2936
- Registriert: Sa, 24. Sep 2005 9:37
- Wohnort: Berlin
- Hat sich bedankt: 13 Mal
- Danksagung erhalten: 34 Mal
- Kontaktdaten:
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.
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
Wolfgang