Udostępnij za pośrednictwem


Specyfikacja manifestu MSIX dla drukarki wirtualnej obsługującej drukowanie

Ta funkcja umożliwia drukowanie na drukarce wirtualnej bez konieczności używania starszych sterowników wydruku V3/V4, ponieważ system Windows planuje wycofać sterowniki wydruku V3/V4 innych firm. Aby uzyskać więcej informacji, zobacz Koniec obsługi sterowników drukarek innych firm w systemie Windows.

Architektura drukarki wirtualnej ułatwia implementację drukarek oprogramowania bez sterowników innych firm. Dzięki tej architekturze niezależni dostawcy oprogramowania mogą implementować drukarkę oprogramowania jako aplikację implementując funkcje obecnie obsługiwane przez sterowniki V3/V4 innych firm.

W tym artykule opisano, jak aplikacja może zarejestrować się jako drukarka programowa w manifeście.

Aby uzyskać więcej informacji, zobacz następujące artykuły:

Temat Opis
Przewodnik projektowania aplikacji obsługi wydruku Zawiera wskazówki i przykłady dla producentów OEM i dostawców IHV drukarek, którzy implementują aplikację do obsługi wydruku (PSA) dla swojej drukarki.
Przewodnik projektowania interfejsu API Print Support App wersji 3 Zawiera wskazówki i przykłady dla producentów OEM i IHV drukarek, którzy wdrażają aplikację wsparcia drukowania w wersji 3 (PSA) dla swoich urządzeń.
Przewodnik projektowania interfejsu API Print App w wersji 4 Zawiera wskazówki i przykłady dla OEM-ów i IHV-ów drukarek, którzy implementują aplikację wsparcia drukowania w wersji 4 (PSA) dla swojego urządzenia.
Asocjacja aplikacji wspierających drukowanie Zawiera wskazówki i przykłady dotyczące kojarzenia aplikacji do obsługi wydruku (PSA) z drukarką.

aplikacji do obsługi wydruku (PSA) to architektura, która została wprowadzona w celu ułatwienia dodawania dostosowywania drukarek IPP bez używania sterowników innych firm. Aby ułatwić przejście do drukarki oprogramowania, wszystkie interfejsy API są częścią przestrzeni nazw interfejsu API PrintSupportApp i ponownie wykorzystują niektóre kontrakty PSA, które mają zastosowanie do architektury drukarki wirtualnej.

Nowy kontrakt manifestu jest podobny do umowy Windows.printSupportWorkflow, ale ten kontrakt wymaga więcej wpisów, ponieważ jest używany do instalowania drukarki wirtualnej.

Nowy moduł obsługi rozszerzenia wdrażania systemu Windows (DEH) instaluje drukarkę wirtualną na podstawie sapisy manifestu, a składniki drukowania systemu Windows uruchamiają aplikację, gdy użytkownik drukuje na zainstalowanej drukarce wirtualnej.

Atrybuty manifestu

  • printSupport:Extension — wpis rozszerzenia dla drukarki wirtualnej

  • Category - Windows.printSupportVirtualPrinterWorkflow nowa umowa dotycząca wdrażania drukarki wirtualnej

  • PrintSupportVirtualPrinter — każdy wpis określa jedną kolejkę drukowania punktu końcowego oprogramowania, która ma zostać zainstalowana wraz z aplikacją. Każdy wpis PrintSupportVirtualPrinter może mieć następujące atrybuty:

    • PreferredInputFormat — ten atrybut wskazuje preferowany format wejściowy PDL drukarki wirtualnej. System windows print generuje ten format przed przekazaniem danych PDL do drukarki wirtualnej dla wszystkich ścieżek drukowania. Pole może być tylko jedną z następujących wartości: application/oxps lub application/postscript. Instalacja nie powiedzie się, jeśli w tym polu określono inne formaty. Jeśli pole nie jest określone, aplikacja/oxps jest ustawiona jako preferowany format PDL dla zainstalowanej drukarki wirtualnej.

    • OutputFileTypes — Po określeniu tego atrybutu w Manifeście Appx, System Windows Print tworzy kolejkę drukarki, która jest oznaczona jako drukarka plików, a okno dialogowe Zapisz jako jest wyświetlane użytkownikowi, gdy aplikacja rozpoczyna drukowanie do drukarki wirtualnej. Wartości tego pola powinny zawierać docelowe rozszerzenia plików, takie jak pdf/pwgr/ps itp. Te wartości są przechowywane w danych sterowników i są dodawane do okna dialogowego Zapisz jako dozwolone rozszerzenia. Jeśli drukarka wirtualna nie chce zachowania drukowania plików (dotyczy to drukarek wirtualnych, które przechowują dane drukowania w chmurze lub drukarkach wysyłających dane do aplikacji, takiej jak OneNote), to pole nie powinno być dodawane do manifestu.

    • Obsługiwane formaty — Ten element może być używany przez Wirtualną Drukarkę do określania wszystkich formatów PDL, które może przetwarzać. Używane jest to do aplikacji drukowania przekazywanego, takich jak Microsoft Edge, w celu identyfikacji obsługiwanego formatu, na przykład PDF, i bezpośredniego przesyłania strumienia PDF do drukarki wirtualnej, bez żadnych zmian dokonywanych przez system Windows Print. To pole może mieć SupportedFormat jako elementy podrzędne.

      • SupportedFormat — element określa pojedynczy format PDL w trybie passthrough i może mieć następujące atrybuty.

        • typ — ten atrybut służy do określania obsługiwanego typu MIME obsługiwanego przez drukarkę wirtualną

        • MaxVersion — ten atrybut określa maksymalną wersję tego formatu PDL, który może odbierać drukarka wirtualna. Wartość MaxVersion musi być w formacie MajorVersion.MinorVersion. Instalacja drukarki w systemie Windows kończy się niepowodzeniem, jeśli jest w innym formacie. MajorVersion i MinorVersion mogą być wyłącznie liczbami. Jeśli istnieją jakiekolwiek znaki, pole wersji jest unieważniane i ignorowane.

  • PdcFile — ten atrybut musi wskazywać plik zasobu w pakiecie aplikacji. Plik powinien zawierać zawartość w formacie XML Możliwości urządzenia wydruku, który służy do definiowania możliwości drukarki i powinien służyć do definiowania dowolnych niestandardowych funkcji/opcji lub parametrów. Jest to obowiązkowe pole, a instalacja drukarki kończy się niepowodzeniem, jeśli wartość nie jest obecna lub jeśli zawartość pliku nie jest w prawidłowym formacie PDC.

  • PdrFile — jeśli podano, ten atrybut musi wskazywać plik zasobu w pakiecie aplikacji. Plik powinien zawierać zasoby urządzenia drukowania w formacie XML. To pole powinno zostać podane, jeśli aplikacja chce lokalizować niestandardowe preferencje drukowania. To pole jest opcjonalne, a lokalizacja zasobów dla preferencji drukowania jest obsługiwana przez system wydruku, jeśli to pole nie jest obecne.

  • DisplayName — określa nazwę kolejki drukarki wirtualnej, która zostanie zainstalowana. Ograniczenia tego ciągu są takie same jak ograniczenia dotyczące nazwy drukarki systemu Windows.

  • PrinterUri — określa unikatowy identyfikator URI, który może być używany przez aplikacje PSA do identyfikowania drukarki. Pojedyncza aplikacja drukarki wirtualnej może określać wiele punktów końcowych oprogramowania, co powoduje zainstalowanie wielu drukarek. Za pomocą pola PrinterUri można rozróżniać te drukarki. Ten wynik identyfikatora URI jest podawany z interfejsu API IppPrintDevice::PrinterUri. Jeśli nie określono identyfikatora URI, system Windows przypisuje do drukarki dowolny unikatowy identyfikator URI.

Przykład manifestu

<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>

koniec planu obsługi sterowników drukarek innych firm w systemie Windows

IppPrintDevice::PrinterUri