Möglichkeit, den Namen der generierten XPS-Datei als Standard anzugeben?

8

Wenn ein Benutzer einen Bericht druckt und sie zufällig den Microsoft XPS-Drucker verwenden, möchte ich den Dateinamen standardmäßig zu etwas Bedeutungsvollem machen.

Ich hätte gedacht, dass der XPS-Drucker den Namen des Druckauftrags annehmen und diesen als Standarddateinamen verwenden würde - aber das tut er nicht.

Gibt es eine andere, programmatische Möglichkeit, den Namen der generierten XPS-Datei beim Drucken auf diesem Drucker als Standard anzugeben? Ich dachte, es könnte so etwas wie:

  • ein Registrierungsschlüssel
  • globaler gemeinsamer Speicher
  • API-Aufruf wie SetDefaultXPSFilename ()
  • erweiterte Attribute über einen Druckauftrag

Beispiel

Automatisieren Sie Excel, um eine Tabelle zu erstellen:

%Vor%

Wenn der Standarddrucker des Benutzers Microsoft XPS Document Writer ist, erhält der Benutzer:

Ich möchte einen Weg, damit File name auf etwas Nützliches zurückgesetzt wird, wie zum Beispiel:

%Vor%

Der Benutzer akzeptiert den Standarddateinamen und die Dateien werden automatisch organisiert, anstatt dass der Benutzer Folgendes eintippt:

%Vor%

Referenzen

Bump: 20110729 (12 Monate später)

    
Ian Boyd 28.07.2009, 19:02
quelle

3 Antworten

5

Nun, Hier ist ein einfacher Weg (zumindest in meinem Fall):

(myPrintPage erbt von System.Drawing.Printing.PrintDocument)

%Vor%

Ich habe noch keinen Weg gefunden, um zu bestimmen, ob der Drucker, den ich gewählt habe, in eine Datei drucken wird, daher der Test auf den Namen des Druckers.

Zusätzlich zu oben, hier ist ein Stück Code, den ich nützlich fand:

Nehmen wir an, mein Standarddrucker ist NICHT der XPS Document Writer. Mein Code muss einige Daten automatisch archivieren, einen Bericht in XPS drucken und dem Benutzer dann anbieten, den Bericht auf dem Standarddrucker zu drucken. Im zweiten Schritt muss ich die PrinterSettings von myPrintPage ändern.
Hier ist wie:

%Vor%


Es kann manchmal nützlich sein.

    
PatTheFrog 31.08.2010 23:11
quelle
2

Der Microsoft XPS Document Writer (MXDW) generiert einen Ausgabedateipfad, ohne den Benutzer aufzufordern, wenn die Anwendung, die druckt, lpszOutput in DOCINFO .

Wenn Sie keinen Zugriff auf den Code der Anwendung haben, besteht eine andere Möglichkeit darin, einen XPS-Treiber zu erstellen, der einen Dateipfad erzeugt, selbst wenn lpszOutput nicht gesetzt wurde. Das Windows Driver Kit (WDK) ist der Ort zum Starten.

Weitere Einzelheiten und Links finden Sie in diesem Beitrag .

    
aiddy 18.08.2009 16:24
quelle
0

Win2PDF 7 als XPS speichern, und zwar standardmäßig auf den Namen des Druckauftrages. Wenn Sie den Druckauftrag als die in der Datei-Speichern-Dialog angezeigten Namen nicht verwenden möchten, können Sie den Namen Standarddatei ändern, indem Sie einen Registrierungswert Einstellung namens „ PDFTitel ".

Sie können auch die Ausgabedatei eingestellt ohne Aufforderung entweder mit dem lpszOutput Bereich der DOCINFO oder durch eine Registrierungseinstellung Einstellung namens „ PDFFileName “, wie in der Win2PDF Dokumentation beschrieben. Die Datei wird im XPS-Format erstellt, wenn der Dateiname die Erweiterung .xps enthält.

    
Craig Lebakken 02.03.2010 20:33
quelle

Tags und Links