![]() |
WordApplication -> PrintOut -> PDFWriter
Hallo,
folgendes riesiges Problem:
Code:
der PDF PrintDialog kommt, und das PDF wird erzeugt. Jetzt will ich den Dateinamen automatisch angeben:
WordApplication.ActivePrinter := 'Adobe PDFWriter';
WordApplication.PrintOut;
Code:
Es kommt die Meldung das 1,2,3,4...Seiten auf c:\temp\blablabla.pdf gedruckt werden, das DruckerSymbol erscheint in der Taskleiste (vom PDF Writer...) und die Datei wird mit exakt 0Byte angelegt, ist also leer.
WordApplication.ActivePrinter := 'Adobe PDFWriter';
vFileName := 'c:\temp\blablabla.pdf'; WordApplication.PrintOut(vBackground,EmptyParam,EmptyParam,vFileName); Wo ist das PDF Dokument? Hilfeeee - wie kann ich das auf die Reihe bekommen, mein PDF Dokument OHNE den Print Dialog vom PDFWriter zu bekommen ?? Die Adobe Support Seiten sind da mehr als auskunftsmager. Oder geht das etwas absolut gar nicht ??? Danke für sachdienliche Hinweise. Bernd |
Hallo,
ich kenne den Acrobat Writer nicht aber schau mal die nachfolgenden Parameter für PrintOut an:
Delphi-Quellcode:
(gefunden auf chaho.de
uses ...ComObj...
var WordApp : Variant; begin WordApp:=CreateOLEObject('Word.Application'); WordApp.Visible:=false; // it's the default, but in case you want to display // it you just set the Visible to true WordApp.PrintOut(FileName:="c:\config.sys", Range:=wdPrintAllDocument, Item:=wdPrintDocumentContent, Copies:=1, Pages:="", PageType:=wdPrintAllPages, Collate:=True, Background:=True, PrintToFile:=False); //print out the file WordApp.Quit; WordApp:=Unassigned; end; ![]() Vielleicht hilft Dir das weiter... |
Danke, aber das ist nicht das Problem.
Die Ausgabedatei von PrintOut oder PrintOutOld wird ja angelegt wenn ich sie angebe, nur sie ist 0Byte gross, obwohl ein ProcessFenster erscheint das die Seiten 1,2,3,4 .... als angegebene Datei gedruckt werden. Meine Vermutung geht nur irgendwie dahin das der Adobe PDFWriter oder Distiller gar nicht von Delphi aus "blind" angesteuert werden können ... Wer weiss genaueres ? Bei Adobe habe ich keine Hinweise gefunden, aber deren Webseiten sind ja auch so unübersichtlich wie nix .... |
Hallo Berni,
genau das Problem hatte ich auch, die erzeugte Datei hatte immer 0kB. Ich bin als Lösung dann auf Postscript umgestiegen. Die .ps Datei wird korrekt erzeugt, einzig allein musst du einen Postskript fähigen Drucker installieren, und solcher gibt es ja zugenüge. Anschauen und ausdrucken kannst du die .ps Files mit Ghostview. Vorher muss nur noch Ghostskript installiert werden. Einen Haken hat die Sache bei dann aber trotzdem noch: die erzeugten .ps Berichte haben immer nur EINE Seite. Der Ausdruck von Ghostview ist zwar ok, aber im Preview kann nur die erste Seite betrachtet werde :cry: Aber an einer Lösung zum pdf-Problem wär ich nach wie vor sehr interessiert :idea: Beste Grüsse, Tom |
Hi,
welche Office und Adobe Version hattest Du damals ? Ich habe gerade einen Hinweis bekommen, das es bei Office 2K SR1 und Adobe 4 funktionieren würde. Ich habe Office 2K SR1 und Adobe 5 - evtl. liegt der Haken ja an der Version. Den Weg über Ghostscript wollte ich nicht unbedingt gehen, da ja noch umständlicher ist - aber wenn alle Stricke reissen sollten .... |
Zitat:
Zitat:
Gruss, Tom |
Ich wollte das Vollautmatisiert haben,
sprich Knopfdruck und fertig ist das PDF irgendwo im Hintergrund ..... |
Genau das meinte ich auch. Aber das pdf Format wär mir natürlich auch lieber.
|
Es muß aber wohl eine Lösung geben, wenn ich in Word auf das "In Adobe PDF konvertieren"-Symbol klicke,
muß ich auch nicht immer den Dateinamen angeben. Insofern sollte es auch möglich sein. Habe hier auch Office 2000 (ohne SR1) und Acrobat 5. |
Hi Marco,
Was ist denn das für ein Symbol "In Adobe PDF konvertieren". Gibts bei mir nicht, oder ich bin einfach zu blind es zu finden :roll: Gruss, Tom |
Das vom PDF-Maker das in der Word und Excel-Symbolleiste nach der Acrobat-Installation erscheint, wenn zuvor bereits Office installiert war.
|
Ja das gibt es in der Tat,
leider kann ich mit dieses Macro nicht ansehen, was da genau passiert, denn sonst könnte man es ja in delphi irgendwie kopieren aber das ist nicht bearbeitbar - und wenn man es neu erstellen will wird es gelöscht ... |
Hast du mal versucht, direkt aus Word heraus den PDF-Writer als Drucker auszuwählen? Fuktioniert das PDF-Schreiben dann???
|
Ja aus word heraus geht es ...
Ich mach das in delphi jetzt so: 1.) sichere standarddrucker 2.) setze active printer auf PDFWriter 3.) setze registry key: 'HKEY_CURRENT_USER\Software\Adobe\Acrobat PDFWriter' Fiels PDFFileName auf STRING: "PDF-DateiName" 4.) WordApplication.PrintOut 5.) Statndarddrucker zurücksetzen Brutal aber es geht ..... |
Re: WordApplication -> PrintOut -> PDFWriter
Hallo,
weiß zufällig jemand, wie das bei Acrobat 6 funktioniert? Die Lösung von @berni geht nur bis Acrobat 5. Herbert |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:42 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz