인쇄 지원 가상 프린터에 대한 MSIX 매니페스트 사양
이 기능을 사용하면 Windows가 타사 V3/V4 인쇄 드라이버를 더 이상 지원하지 않을 계획이므로 레거시 V3/V4 인쇄 드라이버 없이도 가상 프린터로 인쇄할 수 있습니다. 자세한 내용은 Windows타사 프린터 드라이버에 대한
가상 프린터 아키텍처는 타사 드라이버 없이 소프트웨어 프린터의 구현을 용이하게 합니다. 이 아키텍처를 통해 ISV(독립 소프트웨어 공급업체)는 타사 V3/V4 드라이버에서 현재 지원되는 기능을 구현하는 애플리케이션으로 소프트웨어 프린터를 구현할 수 있습니다.
이 문서에서는 애플리케이션이 매니페스트에서 소프트웨어 프린터로 등록하는 방법을 설명합니다.
자세한 내용은 다음 문서를 참조하세요.
주제 | 설명 |
---|---|
인쇄 지원 앱 디자인 가이드 | 디바이스에 대한 PSA(인쇄 지원 앱)를 구현하는 프린터 OEM 및 IHV에 대한 지침과 예제를 제공합니다. |
인쇄 지원 앱 v3 API 디자인 가이드 | 디바이스에 대한 v3 PSA(인쇄 지원 앱)를 구현하는 프린터 OEM 및 IHV에 대한 지침과 예제를 제공합니다. |
인쇄 지원 앱 v4 API 디자인 가이드 | 디바이스에 대한 v4 PSA(인쇄 지원 앱)를 구현하는 프린터 OEM 및 IHV에 대한 지침과 예제를 제공합니다. |
인쇄 지원 앱 연결 | PSA(인쇄 지원 앱)를 프린터와 연결하기 위한 지침과 예제를 제공합니다. |
PSA(인쇄 지원 앱) IHV가 타사 드라이버를 사용하지 않고 IPP 프린터에 사용자 지정을 추가할 수 있도록 하기 위해 도입된 아키텍처입니다. 소프트웨어 프린터로의 전환을 용이하게 하기 위해 모든 API는 PrintSupportApp API 네임스페이스의 일부이며 가상 프린터 아키텍처에 적용되는 PSA 계약의 일부를 다시 사용합니다.
새 매니페스트 계약은 Windows.printSupportWorkflow 계약과 유사하지만 가상 프린터 설치에 사용되므로 이 계약에는 더 많은 항목이 필요합니다.
새 DEH(Windows 배포 확장 처리기)는 매니페스트 선언에 따라 가상 프린터를 설치하고 사용자가 설치된 가상 프린터로 인쇄할 때 Windows 인쇄 구성 요소가 앱을 호출합니다.
매니페스트 특성
printSupport:확장 - 가상 프린터의 확장 항목
범주 - Windows.printSupportVirtualPrinterWorkflow 가상 프린터를 구현하는 앱에 대한 새 계약
PrintSupportVirtualPrinter - 각 항목은 애플리케이션과 함께 설치할 하나의 소프트웨어 엔드포인트 인쇄 큐를 지정합니다. 각 PrintSupportVirtualPrinter 항목에는 다음 특성이 있을 수 있습니다.
PreferredInputFormat - 이 특성은 Virtual Printer에 대한 기본 입력 PDL 형식을 나타냅니다. Windows 인쇄 시스템은 모든 인쇄 경로에 대한 PDL 데이터를 Virtual Printer에 제공하기 전에 이 형식을 생성합니다. 필드는 application/oxps 또는 application/postscript 값 중 하나일 수 있습니다. 이 필드에 다른 형식을 지정하면 설치가 실패합니다. 필드를 지정하지 않으면 application/oxps가 설치된 Virtual Printer의 기본 PDL 형식으로 설정됩니다.
OutputFileTypes - 이 속성이 앱 매니페스트에 지정되면, Windows 인쇄 시스템에서 '파일 프린터'로 지정된 프린터 큐를 생성하고, 사용자에게 응용 프로그램이 가상 프린터로 인쇄를 시작할 때 '다른 이름으로 저장' 대화 상자를 표시합니다. 이 필드의 값은 pdf/pwgr/ps 등과 같은 대상 파일 확장자를 포함해야 합니다. 이러한 값은 드라이버 데이터에 저장되며 '다른 이름으로 저장' 대화 상자에서 허용되는 확장자로 추가됩니다. 가상 프린터에서 파일 인쇄 동작을 원하지 않는 경우(클라우드에 인쇄 데이터를 저장하는 Virtual Printer 또는 OneNote와 같은 응용 프로그램에 데이터를 보내는 프린터 포함) 이 필드를 매니페스트에 추가하면 안 됩니다.
지원되는 형식 - 이 요소는 가상 프린터를 사용하여 처리할 수 있는 모든 PDL 형식을 지정할 수 있습니다. 이는 Microsoft Edge와 같은 통과 인쇄 응용 프로그램에 사용되어 PDF와 같은 지원되는 형식을 식별하고 Windows 인쇄 시스템 간에 변경하지 않고 PDF 스트림을 가상 프린터에 직접 전달합니다. 이 필드는 SupportedFormat을 자식 요소로 포함할 수 있습니다.
SupportedFormat - 요소는 단일 통과 PDL 형식을 지정하고 다음 특성을 가질 수 있습니다.
형식 - 이 특성은 Virtual Printer에서 지원하는 지원되는 MIME 형식을 지정하는 데 사용됩니다.
MaxVersion - 이 특성은 Virtual Printer에서 받을 수 있는 PDL 형식의 최대 버전을 지정합니다. MaxVersion 값은 MajorVersion.MinorVersion 형식이어야 합니다. 다른 형식인 경우 Windows 인쇄 시스템이 프린터 설치에 실패합니다. MajorVersion 및 MinorVersion은 숫자만 될 수 있습니다. 문자가 있으면 버전 필드가 무효화되고 무시됩니다.
PdcFile - 이 특성은 애플리케이션 패키지 내의 리소스 파일을 가리킵니다. 파일에는 프린터 기능을 정의하는 인쇄 장치 기능 XML 형식의 내용이 포함되어야 하며 사용자 지정 기능/옵션 또는 매개 변수를 정의하는 데 사용해야 합니다. 값이 없거나 파일 내용이 유효한 PDC 형식이 아닌 경우 필수 필드이며 프린터 설치가 실패합니다.
PdrFile - 제공된 경우 이 특성은 애플리케이션 패키지 내의 리소스 파일을 가리킵니다. 파일에는 XML 형식의 인쇄 디바이스 리소스가 포함되어야 합니다. 앱에서 사용자 지정 인쇄 기본 설정을 지역화하려는 경우 이 필드를 제공해야 합니다. 이 필드는 선택 사항이며 인쇄 기본 설정에 대한 리소스 지역화는 이 필드가 없는 경우 인쇄 시스템에서 처리합니다.
DisplayName - 설치할 가상 프린터 큐의 이름을 명시합니다. 이 문자열의 제한 사항은 Windows 프린터 이름에 대한 제한 사항과 동일합니다.
PrinterUri - PSA 애플리케이션에서 프린터를 식별하는 데 사용할 수 있는 고유한 URI를 지정합니다. 단일 Virtual Printer 앱은 여러 소프트웨어 엔드포인트를 지정하여 여러 프린터를 설치할 수 있습니다. PrinterUri 필드를 사용하여 이러한 프린터를 구분할 수 있습니다. 이 URI 출력은 IppPrintDevice::P rinterUri API에서 제공됩니다. URI를 지정하지 않으면 Windows에서 프린터에 임의의 고유 URI를 할당합니다.
매니페스트 샘플
<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>