이 항목은 현재 항목이 아닙니다. 최신 정보는 인쇄 스키마 사양참조하세요.
디바이스별 PrintTicket는 특정 디바이스를 대상으로 하므로 일반적으로 여러 디바이스에서 이식할 수 없습니다.
디바이스별 PrintTicket를 만들 때 다음 목록에 표시된 단계를 사용해야 합니다.
디바이스에 대한 관련 기능 인스턴스만 포함하는 PrintCapabilities 문서를 가져옵니다. 기본 PrintCapabilities 문서를 요청합니다. PrintTicket를 생성하는 데 사용되는 디바이스 특성(기능 및 옵션 인스턴스 및 매개 변수)은 구성과 독립적이므로 입력 PrintTicket을 지정할 필요가 없습니다.
PrintTicket 루트를 포함하는 빈 XML 문서를 만듭니다. 인쇄 스키마 네임스페이스에 네임스페이스 접두사를 할당하고 PrintTicket에서 사용할 다른 모든 네임스페이스에 대한 접두사를 할당합니다. PrintTicket 스키마 버전을 지정합니다.
PrintCapabilities 문서에 보고된 모든 Feature 및 ParameterDef 인스턴스 또는 관심 있는 항목에 대해서만 PrintTicket에서 설정을 정의할 수 있습니다. PrintTicket 인터페이스에 부분 PrintTicket가 표시되면 PrintTicket 유효성 검사 중에 생략된 Feature 및 ParameterDef 인스턴스에 대해 기본값이 자동으로 제공됩니다.
PrintCapabilities 문서에서 기능 인스턴스를 검사하고 PrintTicket에 정의하려는 항목을 확인합니다. 이러한 기능 인스턴스를 PrintTicket에 추가하지만 기능 인스턴스의 내용을 PrintTicket으로 전송하지 않습니다. 하위 기능을 전송하는 경우 부모 기능도 전송되어야 하며, 부모-자식 관계는 PrintTicket에서 유지되어야 합니다.
전송하는 각 기능에 대해 PrintTicket에 적용할 수 있는 옵션 인스턴스를 결정합니다. PrintCapabilities 문서에 정의된 대로 전체 옵션을 전송한 다음 존재하는 속성 인스턴스를 제거합니다. 속성 인스턴스는 PrintCapabilities 문서 내에서 사용되지만 PrintTicket에서는 아무 용도로도 사용되지 않습니다. ScoredProperty 인스턴스를 모두 유지하여 해당 위치를 유지합니다. 옵션 정의의 내장 부분입니다.
ScoredProperty 인스턴스에 속성 인스턴스를 추가할 수도 있습니다. 속성 인스턴스는 PrintTicket 공급자가 명시적으로 사용을 지원하는 경우에만 사용됩니다. 각 공급자는 지원되는 모든 속성 인스턴스의 용도와 사용을 문서화해야 합니다. 유효성 검사 중에는, 속성의 네임스페이스가 대상 PrintCapabilities 또는 PrintTicket 공급자에 의해 인식되고, PrintCapabilities 문서에서 ScoredProperty 인스턴스가 참조 옵션에 정의된 인스턴스와 완전히 일치하는 후보 옵션이 발견되지 않는 한, Option 인스턴스 내에 포함된 모든 Property 인스턴스가 제거됩니다.
인쇄 스키마 키워드가 특정 기능에 대해 SelectionType 속성을 PickMany로 설정한 경우 IdentityOption으로 지정된 옵션이 선택된 옵션 중 하나가 아닌 경우 해당 기능에 대해 둘 이상의 옵션을 선택할 수 있습니다. 인쇄 스키마의 IdentityOption은 Postscript PPD 파일 및 Unidrv GPD 파일의 None 옵션과 동일한 효과를 줍니다. no-op역할을 합니다.
PrintCapabilities 문서에서 PrintTicket에서 설정해야 하는 ParameterDef 인스턴스를 검사합니다. 이러한 각 ParameterDef 인스턴스에 대해 PrintTicket의 ParameterInit 인스턴스에서 사용할 값을 선택합니다. 이 값은 올바른 데이터 형식이어야 하며 ParameterDef 인스턴스에 정의된 범위에 속해야 하며 ParameterDef 인스턴스에 지정된 다른 모든 요구 사항을 충족해야 합니다. ParameterInit 인스턴스를 사용하여 선택한 값으로 매개 변수를 초기화합니다.
PrintTicket에 표시되는 각 Option 인스턴스의 내용을 검사하여 ParameterRef 인스턴스가 있는지 확인합니다. 해당 ParameterInit 인스턴스가 PrintTicket에 아직 표시되지 않는 경우 이전 단계에 따라 PrintTicket에 ParameterInit 인스턴스를 만듭니다. 이 ParameterInit 인스턴스의 목적은 ParameterRef 인스턴스에서 참조하는 매개 변수를 초기화하는 것입니다.
제약 조건 충돌로 인해 디바이스가 PrintTicket에 지정한 구성을 적용하지 못할 수 있습니다. 필요한 경우 유효성 검사 프로세스는 PrintTicket에 정의된 구성을 충돌이 없는 구성으로 수정합니다.
PrintTicket에 있어야 하는 속성 인스턴스에 대한 인쇄 스키마 키워드를 검사합니다. 필요한 각 개체에 대해 PrintTicket에 속성 인스턴스를 추가하고 Value 요소 형식을 사용하여 적절한 값을 제공합니다. 속성 인스턴스가 PrintTicket 내에 제대로 있는지 확인합니다.
PrintTicket 스키마에서 선택적 속성 인스턴스를 검사합니다. PrintTicket에 있어야 하는 속성 인스턴스가 있는 경우 PrintTicket에 만듭니다.
루트 수준 또는 기능, 옵션 또는 속성 인스턴스에 비공개로 정의된 속성 인스턴스를 추가할 수도 있습니다. 그러나 대상 PrintCapabilities 또는 PrintTicket 공급자가 해당 네임스페이스를 인식하지 않는 한 유효성 검사 중에 이러한 비공개로 정의된 속성 인스턴스가 제거됩니다. 또한 PrintCapabilities 문서에 완벽한 일치 옵션이 포함되어 있지 않으면 옵션 인스턴스 내의 아무 곳에나 표시되는 속성 인스턴스가 유효성 검사 중에 제거됩니다. 두 옵션 인스턴스는 한 인스턴스의 모든 ScoredProperty에 대응하는 ScoredProperty가 다른 인스턴스에 존재하고, 그 ScoredProperty 인스턴스의 값이 동일할 경우 완벽하게 일치합니다. 인식된 프라이빗 속성 인스턴스 목록 및 해당 용도는 PrintTicket 공급자의 프라이빗 스키마를 참조하세요.
동일한 요소 유형의 자식은 10개 이상의 요소 깊이로 중첩될 수 없습니다. 이 규칙은 정의할 수 있는 요소의 각 형식에 독립적으로 적용됩니다.
메모
PrintTicket XML 콘텐츠는 UTF-8 또는 UTF-16을 사용하여 인코딩해야 합니다.
관련 항목