2010-02-18 11 views
6

Drucken von PDF-Dokument mit Microsoft XPS Document Writer:PDF XPS Konvertierung via Microsoft XPS Document Writer

string filename = "C:\\1.pdf"; 

Process process = new Process(); 
process.StartInfo.Verb = "PrintTo"; 

process.StartInfo.FileName = @"C:\Program Files\Adobe\Reader 9.0\Reader\acrord32.exe"; 

process.StartInfo.Arguments = 
    "/t \"C:\\1.pdf\" \"Microsoft XPS Document Writer\" \"xps\" XPSPort:"; 

process.StartInfo.RedirectStandardOutput = true; 
process.StartInfo.CreateNoWindow = true; 

process.StartInfo.UseShellExecute = false; 

process.Start(); 
process.StandardOutput.ReadToEnd(); 

process.WaitForExit(); 

Das einzige Problem ist, Speichern Dialog, die Dateinamen anfordert (* .xps), in dem Ergebnis zu speichern. Alleine Ratschläge DOCINFO, um dieses Problem zu lösen, aber ich fand kein Anwendungsbeispiel. Ich muss PDF-Datei über Microsoft XPS Document Writer mit Standard-Ausgabedateiname programmatisch drucken. Wie sollte ich DOCINFO in dieser Situation verwenden?

Können Sie mir helfen?

Antwort

0

DOCINFO struct verwaltet Dateinamen im Druckspooler, ist aber nicht mit dem xps-Treiber verknüpft, um die Dialogrealisierung zu speichern. Aber Sie finden vielleicht das Dialogfenster Speichern, geben den Dateinamen ein und schließen ihn programmgesteuert. Lesen Sie diese article zum Beispiel.

+0

Die Methode in diesem Artikel ist ein bisschen ein Hack und funktioniert nur mit IE. –