2009-05-26 2 views
2

Greifen nach Strohhalmen hier, ich denke ich erinnere mich daran, irgendwo eine Lösung zu finden, aber ich kann sie jetzt nicht finden.Gibt es eine gute ActiveX/COM-Komponente zum "Drucken" in PDF?

Das Problem ist, dass ich eine Windows-Anwendung (nicht. NET) brauche, um PDFs generieren zu können. Die "Standardlösung" besteht darin, etwas wie PDF995 oder CutePDF zu verwenden, die einen Dummy-Drucker erstellen, auf den Ihre Anwendung dann drucken kann und der zu einer PDF-Datei umgeleitet wird. Das Problem besteht darin, dass zur Kontrolle dieser Drucker die Aktualisierung von INI-Dateien oder Registrierungsschlüsseln erforderlich ist und dass dies fehleranfällig ist und häufig Probleme mit Nebenläufigkeit auftreten.

Die programmgesteuerte Erstellung der PDF-Datei ist keine Option. Sie muss in der Lage sein, die Ausgabe zu übernehmen, die normalerweise an einen Drucker gesendet oder direkt aus einer Excel-Datei konvertiert wird.

Idealerweise würde ich die Excel-Datei einfach an ein COM/ActiveX-Objekt übergeben und es würde in eine Datei schreiben, die ich angegeben habe. Die nächste beste Option wäre es, einen separaten Drucker pro Druckauftrag zu erstellen oder einen vernünftigen Weg zu haben, den Dateinamen, den ich gebe, das Dokument zu haben, das ich drucke.

Diese Excel to PDF Batch converter könnte den Trick tun, zumindest hat es einen Befehlszeilenmodus, hat jemand das versucht? Es würde jedoch nur das Problem für Excel-Dateien lösen.

Also, gibt es eine bessere Lösung?

(Als Randnotiz, für Visual FoxPro XFRX Arbeiten berichtet wirklich gut, wandelt es den Bericht direkt in eine PDF ohne einen Druckertreiber zu benötigen.)

Antwort

2

Sie könnten BullZip aussehen wollen (google es, weil ich kann noch keine Hyperlinks hinzufügen). Wir haben Jody Meyer kürzlich dieses Tool bei der Detroit Area Fox User Group vorgestellt (zuvor auch in der Grand Rapids Area Fox User Group). Es war eine großartige Sitzung.

Sie zeigte, wie Sie mit dem COM-Objekt eine Menge der BullZip-Funktionen automatisieren, einschließlich des Namens der Datei und Eigenschaften wie Autor und Schlüsselwörter. Wasserzeichen sind auch ein Kinderspiel. Es ist einfach und unkompliziert und ihr Beispiel war felsenfest. Unzählige Funktionen, die bereits für Sie erledigt wurden, damit Sie das Demo-Formular einfach neu gestalten können.

Sie können es auf der DAFUG-Website im Ordner "Downloads" herunterladen. Dateiname ist BullZipDemo.zip (Google Detroit Area Fox User Group) und fügen Sie den Ordner und den Dateinamen hinzu.

Rick VFP MVP

+0

Dank Rick, fand dies: http://www.bullzip.com/products/pdf/info.php Dokumentation http://www.biopdf.com/guide/examples/batch_printing/ schlägt vor, dass sie behandeln das Nebeneinander-Problem durch eine "One-Shot" runonce.ini Einstellungsdatei, so sieht aus wie es ein Versuch wert sein könnte. – Tom

0

Für dieses Szenario würde ich Amyuni PDF Converter empfehlen. Es bietet einen Microsoft Certified PDF Printer und ActiveX/.Net-Steuerelemente zur Kommunikation mit ihm. Concurrency-Probleme können mithilfe dieser Steuerelemente vermieden werden. Haftungsausschluss: Ich bin Teil des Entwicklungsteams dieses Produkts.