일반 PrintTicket 만들기

이 항목은 현재 항목이 아닙니다. 최신 정보는 인쇄 스키마 사양참조하세요.

디바이스에 대한 PrintCapabilities 문서를 사용할 수 없거나 대상 디바이스를 알 수 없는 경우 일반 PrintTicket를 생성해야 합니다. 기능 및 옵션 요소 또는 매개 변수 집합을 제공하는 PrintCapabilities 문서가 없으므로 이러한 요소 형식의 지원되는 인스턴스는 인쇄 스키마 키워드에서 직접 가져와야 합니다.

제네릭 PrintTicket를 만들 때 다음 목록에 표시된 단계를 사용해야 합니다.

  1. PrintTicket 루트가 포함된 빈 XML 문서를 만듭니다. 인쇄 스키마 네임스페이스에 네임스페이스 접두사를 할당합니다. 스키마 버전을 지정합니다.

  2. 인쇄 스키마 키워드의 기능 인스턴스를 검사하고, 이 중 PrintTicket에 정의할 기능 인스턴스를 결정합니다. PrintTicket에 이러한 기능 인스턴스를 추가합니다. 하위 기능을 전송하는 경우 부모 기능을 전송하고 PrintTicket의 기능과 하위 기능 간에 부모-자식 관계를 유지해야 합니다.

    전송하는 각 기능 인스턴스에 대해 PrintTicket에 적용할 수 있는 옵션 인스턴스를 결정합니다. 이 Option 인스턴스 집합에서 인쇄 스키마에 나타나는 각 Option 인스턴스를 전송한 다음 PrintTicket에 중요한 속성을 제외하고 존재하는 모든 속성 인스턴스를 제거합니다. ScoredProperty 인스턴스를 모두 유지하여 해당 위치를 유지합니다. 옵션 정의의 내장 부분입니다.

  3. ScoredProperty에 속성 인스턴스를 추가할 수도 있습니다. 속성 요소는 PrintTicket 공급자가 명시적으로 사용을 지원하는 경우에만 적용됩니다. 각 공급자는 지원되는 모든 속성 인스턴스의 용도와 사용을 문서화해야 합니다. PrintTicket를 처리할 공급자를 알 수 없으므로 시스템 PrintTicket 공급자가 명시적으로 지원하는 속성 인스턴스만 추가할 수 있습니다.

  4. 인쇄 스키마 키워드가 특정 기능에 대해 SelectionType 속성을 PickMany로 설정한 경우 IdentityOption으로 지정된 옵션이 선택된 옵션 중 하나가 아닌 경우 해당 기능에 대해 둘 이상의 옵션을 선택할 수 있습니다. 인쇄 스키마의 IdentityOption은 Postscript PPD 파일 및 Unidrv GPD 파일의 None 옵션과 동일한 효과를 줍니다. no-op역할을 합니다.

  5. PrintTicket에서 초기화해야 하는 ParameterDef 인스턴스에 대한 인쇄 스키마 키워드를 검사합니다. 이러한 각 ParameterDef 인스턴스에 대해 PrintTicket의 ParameterInit 인스턴스에서 사용할 값을 선택합니다. 이 값은 올바른 데이터 형식이어야 하며 ParameterDef 인스턴스에 정의된 범위 내에 있어야 하며 ParameterDef 인스턴스에 지정된 다른 모든 요구 사항을 충족해야 합니다. ParameterInit 인스턴스를 사용하여 선택한 값으로 매개 변수를 초기화합니다.

    UI(사용자 인터페이스) 구성 요소를 개발하는 경우 사용자가 ParameterInit 요소의 값을 입력할 수 있도록 PrintTicket 생성 메서드를 디자인합니다. 또한 UI 입력 방식은 연결된 ParameterDef 요소에 지정된 입력 제한을 준수해야 합니다.

  6. PrintTicket에 표시되는 각 Option 인스턴스의 내용을 검사하여 ParameterRef가 있는지 확인합니다. 해당 ParameterInit 인스턴스가 PrintTicket에 아직 표시되지 않는 경우 이전 단계에 따라 PrintTicket에 ParameterInit 인스턴스를 만듭니다. 이 ParameterInit 인스턴스의 목적은 ParameterRef 인스턴스에서 참조하는 매개 변수를 초기화하는 것입니다.

  7. 작업을 처리하는 디바이스가 PrintTicket에 지정된 모든 기능을 지원하지 않을 수 있습니다. 또한 명명된 기능이 지원될 수 있지만 해당 기능의 지정된 옵션은 지원되지 않을 수 있습니다. 매개 변수에도 동일한 주의 사항이 적용됩니다. 디바이스에서 명명된 매개 변수를 지원하는 경우에도 ParameterInit 인스턴스에 지정된 값이 디바이스의 유효한 범위 내에 있지 않을 수 있습니다.

  8. PrintTicket에 있어야 하는 속성 인스턴스에 대한 인쇄 스키마 키워드를 검사합니다. 각 속성 인스턴스를 PrintTicket에 추가하고 Value 요소 형식을 사용하여 적절한 값을 제공합니다. 속성 인스턴스가 PrintTicket 내에 제대로 있는지 확인합니다. PrintCapabilities 스키마 대신 PrintTicket 스키마를 참조해야 합니다.

  9. PrintTicket 스키마에 정의된 선택적 속성 인스턴스를 검사합니다. PrintTicket에 있어야 하는 속성 인스턴스가 있는 경우 PrintTicket에 만듭니다.

  10. 동일한 요소 형식의 자식은 10개 요소 깊이 이상으로 중첩될 수 없습니다. 이 규칙은 정의할 수 있는 요소의 각 형식에 독립적으로 적용됩니다.

메모

PrintTicket XML 콘텐츠는 UTF-8 또는 UTF-16을 사용하여 인코딩해야 합니다.

 

인쇄 스키마 사양