Freigeben über


MSIX-Manifest-Spezifikation für druckunterstützende virtuelle Drucker

Dieses Feature ermöglicht das Drucken auf einen virtuellen Drucker, ohne dass herkömmliche V3/V4-Druckertreiber erforderlich sind, da Windows plant, Drittanbieter-V3/V4-Druckertreiber abzuschaffen. Weitere Informationen finden Sie unter Ende des Wartungsplans für Druckertreiber von Drittanbietern unter Windows.

Die virtuelle Druckerarchitektur erleichtert die Implementierung von Softwaredruckern ohne Drittanbietertreiber. Durch diese Architektur können ISVs (Unabhängige Softwareanbieter) einen Softwaredrucker als Anwendung implementieren, die die derzeit von V3/V4-Treibern von Drittanbietern unterstützten Features implementiert.

In diesem Artikel wird beschrieben, wie sich eine Anwendung im Manifest als Softwaredrucker registrieren kann.

Weitere Informationen finden Sie in den folgenden Artikeln:

Thema Beschreibung
Anleitung zum Entwurf der Druckunterstützungs-App Enthält Anleitungen und Beispiele für Drucker-OEMs und IHVs, die eine Druckunterstützungs-App (PSA) für ihr Gerät implementieren.
Anleitung zum Entwurf von Druckunterstützungs-App v3-API Enthält Anleitungen und Beispiele für Drucker-OEMs und IHVs, die eine v3 Print Support App (PSA) für ihr Gerät implementieren.
Anleitung zum Entwurf von Druckunterstützungs-App v4-API Enthält Anleitungen und Beispiele für Drucker-OEMs und IHVs, die eine v4 Print Support App (PSA) für ihr Gerät implementieren.
Zuordnung der Druckunterstützungs-App Enthält Anleitungen und Beispiele zum Zuordnen einer Druckunterstützungs-App (PSA) zu einem Drucker.

Print Support App (PSA) ist eine Architektur, die eingeführt wurde, um IHVs dabei zu helfen, IPP-Druckern Anpassungen hinzuzufügen, ohne Treiber von Drittanbietern zu verwenden. Um den Übergang zum Softwaredrucker zu erleichtern, sind alle APIs Teil des PrintSupportApp API-Namespace und verwenden einige der PSA-Verträge, die für die virtuelle Druckerarchitektur gelten.

Der neue Manifestvertrag ähnelt dem Windows.printSupportWorkflow Vertrag, aber dieser Vertrag benötigt mehr Einträge, da er für die Installation eines virtuellen Druckers verwendet wird.

Der neue Windows-Bereitstellungserweiterungshandler (DEH) installiert einen virtuellen Drucker basierend auf der Manifestdeklaration, und Windows-Druckkomponenten rufen die App auf, wenn der Benutzer auf den installierten virtuellen Drucker druckt.

Manifestattribute

  • printSupport:Extension – Erweiterungseintrag für virtuellen Drucker

  • Kategorie - Windows.printSupportVirtualPrinterWorkflow neuer Vertrag für die App zur Implementierung eines virtuellen Druckers

  • PrintSupportVirtualPrinter – Jeder Eintrag gibt eine Softwareendpunkt-Druckwarteschlange an, die zusammen mit der Anwendung installiert werden soll. Jeder PrintSupportVirtualPrinter Eintrag kann die folgenden Attribute aufweisen:

    • PreferredInputFormat - – Dieses Attribut gibt das bevorzugte Eingabe-PDL-Format für den virtuellen Drucker an. Windows Print System generiert dieses Format, bevor PDL-Daten für alle Druckpfade dem virtuellen Drucker zugewiesen werden. Das Feld kann nur einen der folgenden Werte haben: application/oxps oder application/postscript. Die Installation schlägt fehl, wenn andere Formate in diesem Feld angegeben werden. Wenn das Feld nicht angegeben ist, wird "application/oxps" als bevorzugtes PDL-Format für den installierten virtuellen Drucker festgelegt.

    • OutputFileTypes – Wenn dieses Attribut im Appx-Manifest angegeben wird, erstellt das Windows-Drucksystem eine Druckerwarteschlange, die als Dateidrucker gekennzeichnet ist, und das Dialogfeld „Speichern unter” wird dem Benutzer angezeigt, wenn eine Anwendung mit dem Drucken mit dem virtuellen Drucker beginnt. Die Werte dieses Felds sollten Zieldateierweiterungen wie pdf/pwgr/ps usw. enthalten. Diese Werte werden in den Treiberdaten gespeichert und im Dialogfeld „Speichern unter” als zulässige Erweiterungen hinzugefügt. Wenn ein virtueller Drucker das Verhalten beim Dateidruck nicht wünscht (dazu gehören virtuelle Drucker, die Druckdaten in der Cloud speichern, oder Drucker, die Daten an eine Anwendung wie OneNote senden), sollte dieses Feld nicht dem Manifest hinzugefügt werden.

    • Unterstützte Formate – Mit diesem Element kann der virtuelle Drucker alle PDL-Formate angeben, die verarbeitet werden können. Dies wird für Passthrough-Druckanwendungen wie bei Microsoft Edge verwendet, um das unterstützte Format wie PDF zu identifizieren und einen PDF-Stream direkt an den virtuellen Drucker zu übergeben, ohne dass das Windows-Drucksystem dazwischen Änderungen vornimmt. Diese Felder können SupportedFormat als untergeordnete Elemente aufweisen.

      • SupportedFormat – Das Element gibt ein einzelnes Passthrough-PDL-Format an und kann folgende Attribute haben.

        • Typ – Dieses Attribut wird verwendet, um den unterstützten MIME-Typ anzugeben, der von virtuellem Drucker unterstützt wird.

        • MaxVersion – Dieses Attribut gibt die maximale Version dieses PDL-Formats an, die der virtuelle Drucker empfangen kann. Der Wert „MaxVersion” muss im Format „MajorVersion.MinorVersion” vorliegen. Das Windows-Drucksystem schlägt bei der Druckerinstallation fehl, wenn es sich in einem anderen Format befindet. „MajorVersion” und „MinorVersion” können nur Zahlen sein. Wenn irgendwelche Zeichen vorhanden sind, wird das Versionsfeld ungültig und ignoriert.

  • PdcFile- – Dieses Attribut muss auf eine Ressourcendatei innerhalb des Anwendungspakets verweisen. Die Datei sollte Inhalte im XML-Format der Druckgerätefunktionen enthalten, die zum Definieren von Druckerfunktionen dienen und zum Definieren von benutzerdefinierten Features/Optionen oder Parametern verwendet werden sollen. Dies ist ein Pflichtfeld, und die Druckerinstallation schlägt fehl, wenn der Wert nicht vorhanden ist oder der Dateiinhalt nicht im gültigen PDC-Format vorhanden ist.

  • PdrFile- – Wenn angegeben, muss dieses Attribut auf eine Ressourcendatei innerhalb des Anwendungspakets verweisen. Die Datei sollte Druckgeräte-Ressourcen in einem XML-Format enthalten. Dieses Feld sollte angegeben werden, wenn die App benutzerdefinierte Druckeinstellungen lokalisieren möchte. Dieses Feld ist optional. Wenn dieses Feld nicht vorhanden ist, übernimmt das Drucksystem die Lokalisierung der Ressourcen für die Druckeinstellungen.

  • DisplayName – Gibt den Namen der virtuellen Druckerwarteschlange an, die installiert wird. Einschränkungen dieser Zeichenfolge entsprechen den Einschränkungen, die für einen Windows-Druckernamen gelten.

  • PrinterUri – Gibt einen eindeutigen URI an, der von PSA-Anwendungen zum Identifizieren des Druckers verwendet werden kann. Eine einzelne virtuelle Drucker-App kann mehrere Softwareendpunkte angeben, die dazu führen, dass mehrere Drucker installiert werden. Das feld PrinterUri kann verwendet werden, um zwischen diesen Druckern zu unterscheiden. Diese URI-Ausgabe wird von der IppPrintDevice::PrinterUri-API bereitgestellt. Wenn kein URI angegeben ist, weist Windows dem Drucker einen beliebigen eindeutigen URI zu.

Manifestbeispiel

<Extensions> 
    <printsupport2:Extension Category="windows.printSupportVirtualPrinterWorkflow" EntryPoint="Tasks.PrintSupportWorkflowBackgroundTask">
        <PrintSupportVirtualPrinter DisplayName="ms-resource://PRINTER_NAME1" PrinterUri="contoso-psa:printer1" PreferredInputFormat="application/postscript" OutputFileTypes="ps;pdf" PdcFile="Config\PRINTER_PDC1.xml" PdrFile="Config\PRINTER_PDR1.xml">
            <SupportedFormats>
                <SupportedFormat Type="application/postscript" />
                <SupportedFormat Type="application/pdf" MaxVersion="1.7" />
            </SupportedFormats>
        </PrintSupportVirtualPrinter>
    </printsupport2:Extension>
    <printsupport2:Extension Category="windows.printSupportVirtualPrinterWorkflow" EntryPoint="Tasks.PrintSupportWorkflowBackgroundTask">
        <PrintSupportVirtualPrinter DisplayName="ms-resource://PRINTER_NAME2" PrinterUri ="contoso-psa:printer2" PreferredInputFormat="application/oxps" OutputFileTypes="pwgr;pdf" PdcFile="ms-appx:///PRINTER_PDC2.xml" PdrFile="ms-appx:///PRINTER_PDR2.xml">
            <SupportedFormats>
                <SupportedFormat Type="application/pdf" MaxVersion="1.7" />
            </SupportedFormats>
        </PrintSupportVirtualPrinter>
    </printsupport2:Extension>
    <printsupport:Extension Category="windows.printSupportExtension" EntryPoint="Tasks.PrintSupportExtensionBackGroundTask"/>
    <printsupport:Extension Category="windows.printSupportSettingsUI" EntryPoint="PrintSupportApp.App"/>
    <printsupport:Extension Category="windows.printSupportJobUI" EntryPoint="PrintSupportApp.App"/>
</Extensions>

Ende des Wartungsplans für Druckertreiber von Drittanbietern unter Windows

IppPrintDevice::PrinterUri